gpt4 book ai didi

javascript - $.ajax JSON 未在完成时传递值

转载 作者:行者123 更新时间:2023-11-28 11:04:40 27 4
gpt4 key购买 nike

我遇到了一个恼人的问题,在尝试进行简单的网址验证时,我得到了未定义。成功,工作正常。

我得到一个有效的 json 响应:

{"error":"some error"}

这是我的 jQuery

$("#myform").submit(function(){
dataString = $("#myform").serialize();
$.ajax({
type: "GET",
url: "myform.php",
data: $.URLDecode(dataString), //fixing url problem
dataType: "json",
beforeSend: function(){
$('#search').append('<img src="images/ajax-loader.gif" />'); //loader
$('.error').remove(); //removes every submit
},
success: function(data){
$('<span class="error">' + data.error + '</span>').appendTo($('#search'));

},
complete: function(data){
$('#search img').fadeOut(); //removes loader
alert(data.error);

}

});
return false; //force ajax submit
});

有什么提示吗?

最佳答案

如果你查看文档:

complete(XMLHttpRequest, textStatus)

A function to be called when the request finishes (after success and error callbacks are executed). The function gets passed two arguments: The XMLHttpRequest object and a string describing the status of the request. This is an Ajax Event.

数据不是您的方法的返回值。

如果您使用的是 firebug,请使用 console.log(XMLHttpRequest),您将看到它包含的内容。

您也可以执行此操作(快速 - 此处使用 eval - 不推荐。)

var err = eval("(" + XMLHttpRequest.responseText + ")");
alert(err.Message);

关于javascript - $.ajax JSON 未在完成时传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322125/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com