jquery被卡住了?
})) 我的脚本在运行时卡住了 以下是服务器返回:jquery被卡住了?,jquery,json,Jquery,Json,})) 我的脚本在运行时卡住了 以下是服务器返回: $.ajax({ url: "_includes/contactform.php", type: "POST", data:'name=' + nameValue + "&email=" + emailValue + "&text=" + textValue + "&checkbox=" + checkValue + "&submit=true", dataType:"json", success: func
$.ajax({
url: "_includes/contactform.php",
type: "POST",
data:'name=' + nameValue + "&email=" + emailValue + "&text=" + textValue + "&checkbox=" + checkValue + "&submit=true",
dataType:"json",
success: function(data,result,res) {
alert(res);
console.log(data);
if(data.checkbox == "true"){
$("#success h1").html("The form was sent successfully. Thank you for signing up for our newsletter.")
}
查看Firebug Net选项卡,查看返回的数据或服务器是否返回500。您还可以查看Firebug控制台,查看发送的数据和返回的数据 您可能还希望让您的contactform.php与GET一起工作,并从浏览器中测试它,确保您的脚本没有任何问题 一次对一个部件进行故障排除,并经常使用firebug.:) 更新:看看你的javascript,问题在于你的成功函数 转到json.org,获取一个javascript文件(查看页面底部的语言)。解析数据变量并获取json对象。然后在javascript中使用该结果 问题在于,您假设json结果已经是javascript对象,而事实并非如此。您需要使用eval函数(非常危险)或使用库解析它,将其转换为一个。
下面是我正在描述的一个例子: 或者您可以试试这个,它是$.getJSON
我使用safari的调试器。它返回:{“checkbox”:“false”};如果你在Firefox上使用Firebug,你可以看到请求中实际返回的内容。如果您的评论中列出了json,那么它必须返回。然后是如何处理结果的问题,应该发生什么。如果处理此响应的整个PHP脚本都是您向我们展示的,并且服务器响应为{“checkbox”:“false”},那么这是因为$checkbox的值为“false”。这也意味着你假设“register_globals”是开着的(坦白说,这会很可怕)。我在这里假设了很多事情,所以如果我错了,请纠正我的错误,这样我可以帮助你更多。@KyleFarris-问题在于javascript方面,当他试图从数据变量中获取属性时,它会抛出错误并退出函数,但会继续运行,只是不执行success()函数中的最后一行。@JamesBlack,你说得对。“False”(或“True”)是我试图从php脚本中得到的。就好像它没有返回正确格式的数据。当我删除行“dataType:json”时,脚本成功运行,数据插入数据库,但返回数据的格式如上所述。
$json_array = array("checkbox" => $checkbox);
echo json_encode($json_array);