http请求,如果问题

http请求,如果问题

问题描述:

所以我必须做一个http请求调用只有当用户输入纬度,lng在输入,所以这意味着在服务器端我必须检查,如果输入设置或不。如果是这样,那么我想添加这些数据,再加上一些数据到数据库。如果没有设置,那么我只想将更多的数据保存到数据库中。http请求,如果问题

现在我在if {}和else {}中运行相同的代码。有没有办法让我避免这种情况?

+0

请澄清一下,我们愿意帮助,但澄清更多。如果可能的话,显示一些代码。 – nemesisfixx 2011-04-26 22:01:08

摘录出您的ifelse语句中的代码,并使其成为一个函数,它接受一个对象并将其保存到数据库中。然后调用该函数,传递响应对象(或替代的对象,如果你事先做了一些工作。)

function persist_data(response) { 
    // Do work to set up the database 
    database.save(response); 
} 

function respond_to_user_input(req, res) { 
    var response = {}; 
    // Populate the necessary data into the response object 
    if (user_has_provided_lat_and_lng) { 
     // Set up your response object to include lat an lng 
     persist_data(response); 
    } else { 
     // Include only the *other* data 
     persist_data(response); 
    } 
} 

最有可能已工具,在那里帮助你和你正在做的事情 - 如果你显示了一些你正在尝试做的这个答案,可以得到一个批次不那么通用。 :-)

你只需要测试args,lat和lng是否都有信息。在这两种情况下,您必须保存allData或someData。 因此,要做到这一点,最好的方法是(恕我直言):

var lat = (lat != '') ? lat : 0; 
var long = (lng != '') ? lng : 0; 

saveDataToDB(lat, long, somedata); 

因此,如果值是0或“”,您保存0(认为这两个值是数字)