Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery被卡住了?_Jquery_Json - Fatal编程技术网

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