所以我必須做一個http請求調用只有當用戶輸入緯度,lng在輸入,所以這意味着在服務器端我必須檢查,如果輸入設置或不。如果是這樣,那麼我想添加這些數據,再加上一些數據到數據庫。如果沒有設置,那麼我只想將更多的數據保存到數據庫中。http請求,如果問題
現在我在if {}和else {}中運行相同的代碼。有沒有辦法讓我避免這種情況?
所以我必須做一個http請求調用只有當用戶輸入緯度,lng在輸入,所以這意味着在服務器端我必須檢查,如果輸入設置或不。如果是這樣,那麼我想添加這些數據,再加上一些數據到數據庫。如果沒有設置,那麼我只想將更多的數據保存到數據庫中。http請求,如果問題
現在我在if {}和else {}中運行相同的代碼。有沒有辦法讓我避免這種情況?
摘錄出您的if
和else
語句中的代碼,並使其成爲一個函數,它接受一個對象並將其保存到數據庫中。然後調用該函數,傳遞響應對象(或替代的對象,如果你事先做了一些工作。)
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(認爲這兩個值是數字)
請澄清一下,我們願意幫助,但澄清更多。如果可能的話,顯示一些代碼。 – nemesisfixx 2011-04-26 22:01:08