jquery ajax调用问题

在jQuery ajax语句中,我想从服务器接收一个有效载荷,并在另一个函数中处理它。 我只是遇到了函数的语法问题。

    $.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": {
    "success": "0",
    "message": "The Activity has been added."
    }
}

$.ajax()成功回调处理程序可以使用以下值:

success(data, textStatus, jqXHR)

来源:http://api.jquery.com/jQuery.ajax/

所以你的函数回调会是这样的:

function ajax_callback(data, textStatus, jqXHR)     
{
  alert(data.response)
}

请注意我是如何以这种方式创建一个命名函数的,而不是将它分配给一个var。 如果你只关心数据,你可以关闭最后2个参数:

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)
    }
});

您应该在ajax调用之前定义回调函数,并将函数的签名更改为:

var ajax_callback = function(data, textStatus, xhr) {
    // parse the data.responseText to json
}

你也可以使用$.getJSON()

链接地址: http://www.djcxy.com/p/46185.html

上一篇: jquery ajax call question

下一篇: RS together with ajax and javascript's blob object, doesn't work