jquery ajax call question
In a jQuery ajax statement I want to receive a payload from the server and process it in another function. I am just having trouble with the syntax of the function.
$.ajax({
url: 'mypgm.pgm',
type:'POST',
dataType: 'json',
data: 'action=add' +
'&techno=' + techno +
'&activity=' + activity,
success: ajax_callback(msg),
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
}
function ajax_callback(msg) {
alert(msg);
}
Response
{"response": {
"success": "0",
"message": "The Activity has been added."
}
}
A success callback handler for $.ajax() can take in the following values:
success(data, textStatus, jqXHR)
Source: http://api.jquery.com/jQuery.ajax/
So your function callback would be something like this:
function ajax_callback(data, textStatus, jqXHR)
{
alert(data.response)
}
Note how I created a named function this way, instead of assigning it to a var. If you only care about the data, you can just leave the last 2 parameters off:
function ajax_callback(data)
{
alert(data.response)
}
尝试这个:
$.ajax({
url: 'mypgm.php',
type: 'POST',
dataType: 'json',
data: 'action=add' + '&techno=' + techno + '&activity=' + activity,
success: function(data) {
alert(data)
}
});
You callback should be defined before the ajax call and change the signature of the function to:
var ajax_callback = function(data, textStatus, xhr) {
// parse the data.responseText to json
}
You could alternatively just use $.getJSON()
上一篇: 在angular.js中解析JSONP $ http.jsonp()响应
下一篇: jquery ajax调用问题
