[英]Ajax post with array of parameters, then referenced within PHP
我已經編寫了一個javascript函數來幫助我編寫ajax帖子,在此函數中它接受參數數組。 功能如下:
/**
* quick function to call an ajax function with post, and get data back via json
* @param {string} url - url of ajax call or php file
* @param {array} data - array of data to pass in a key value pair
* @callback {function} success_callback - on success
* @callback {function} error_callback - on error
* @callback {function} complete_callback - on complete
* @return boolean
*/
function ajax_json_post(url, data, success_callback, error_callback, complete_callback) {
$.ajax ({
type:"POST",
url: url,
data: { data: data},
dataType: "json",
success:function(response) {
if(typeof success_callback === "function") {
success_callback(response);
}
return true;
},
error:function(jqXHR, textStatus, errorThrown) {
if(typeof error_callback === "function") {
error_callback(jqXHR, textStatus, errorThrown);
}
return false;
},
complete:function() {
if(typeof complete_callback === "function") {
complete_callback();
}
return true;
}
});
}
我用來引用此函數的代碼在下面,並且可以工作,但是在發布到PHP腳本時,可以通過$ _POST ['data'] ['value1']訪問該數組;
我的問題是,如何將這些參數傳遞到ajax帖子中,但無需在PHP中聲明數組名稱就能訪問它們,應該是$ _POST ['value1']
var data = {
value1: 1,
value2: true
}
ajax_json_post("ajax/webservice_quote_domestic.php", data, function(response) { //success
if(typeof callback === "function") {
callback(response);
}
}, function() { //error
}, function() { //complete
});
簡單
只需更改此代碼並傳遞data: data,
而不是data: { data: data},
function ajax_json_post(url, data, success_callback, error_callback, complete_callback) {
$.ajax ({
type:"POST",
url: url,
data: data, // change is here
dataType: "json",
success:function(response) {
if(typeof success_callback === "function") {
success_callback(response);
}
return true;
},
error:function(jqXHR, textStatus, errorThrown) {
if(typeof error_callback === "function") {
error_callback(jqXHR, textStatus, errorThrown);
}
return false;
},
complete:function() {
if(typeof complete_callback === "function") {
complete_callback();
}
return true;
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.