我有5個函數的php腳本。該腳本將獲取「request_type」「USER_ID」和「YOUTUBE_ID」和執行功能(五之一)適用於「request_type」使用json函數返回對象的Javascript函數
每個函數返回我JSON。
現在在客戶端我有這個javascript函數。我希望它儘可能通用,這意味着我希望它從php獲取數據並將其作爲對象返回。
function request_to_server(f_request_type, f_user_id, f_youtube_id) {
var my_answer;
$.ajax({
type : "POST",
dataType : "json",
url : "http://example.com/youtube_save.php",
data : {request_type: f_request_type, user_id : f_user_id, youtube_id:f_youtube_id },
success: function(response) {
my_answer = JSON.parse(response);
}
});
return my_answer;
}
這裏是得到這個對象
function show_button_or_not() {
var user_id = $('#hold_user_id').val();
var answer = request_to_server('show_button','89',"lala");
if(answer.success) {
alert("yes");
} else {
alert("no");
}
}
另一個函數的例子,但正如我所說的,在PHP可以返回不同種類的JSON的。它可以有(可選)response.success,response.book,response.author。
任何人都可以解釋如何做到這一點?
可能重複[如何從AJAX調用返回響應?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) – Ian
@lan我會嘗試在那裏找到答案,謝謝 –
Ajax本質上是異步的,這意味着在返回結果之前服務器請求並不完整,因此在返回之前不會調用成功函數。創建ajax請求時,必須設置「async:false」,以便等待服務器響應。一個更好的選擇是創建一個回調函數。 –