我试图从jQuery Modal表单发送一个非常简单的登录表单。
$( "#dialog-form" ).dialog({
var url = "../scripts/sign_up.php";
$.ajax({
type: "POST",
url: url,
data: $("#dialog-form").serialize(),
success: function(data){
alert("it works")
}
});
});
这是我尝试使用Ajax的第一个实际镜头,我遇到了成功方法的问题。我已经检查过我的脚本是否在正确的位置,而且dialog_form具有正确的id。
我是否错误地发送了这些信息?有没有一种解决Ajax请求问题的好方法?
现在我只是试图获取信息,而只是问题,删除了表单的其他代码。
答案 0 :(得分:4)
首先,我可能会建议在您的Ajax请求中添加error
函数 - 它可能有助于处理错误:
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
其次,如何将数据从脚本发送回Ajax请求?如果您没有回复脚本中的任何数据,请求就不会知道脚本是否成功运行。
因此,您可能希望在AJAX调用中添加以下内容:
dataType: "json",
然后从PHP脚本返回数据,如下所示:
$data = array("success"=> true);
echo json_encode($data);
exit;
完整(使用你的脚本):
$( "#dialog-form" ).dialog({
var url = "../scripts/sign_up.php";
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: $("#dialog-form").serialize(),
success: function(data) {
if (data.success) {
alert("it works")
}
else {
alert("it failed, but no server error!");
}
}
error: function (jqXHR, textStatus, errorThrown) {
alert("server error");
alert(textStatus);
alert(errorThrown);
}
});
});