jquery陷入困境?

时间:2009-09-25 22:23:12

标签: jquery json

$.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.")
}

});

我的脚本在运行时卡住了。

这是服务器返回:

$json_array = array("checkbox" => $checkbox);
echo json_encode($json_array);

2 个答案:

答案 0 :(得分:1)

查看Firebug Net选项卡,查看返回的数据或服务器是否返回500.

答案 1 :(得分:1)

您还可以查看Firebug控制台,查看发送的内容和返回的内容。

您可能还希望让contactform.php与GET协同工作并从浏览器进行测试,确保您的脚本没有任何问题。

一次对一部分进行故障排除,并经常使用firebug。 :)

更新:只看了你的javascript,问题出在你的成功函数中。

转到json.org,获取一个javascript文件(查看页面底部的语言)。解析数据变量并获取json对象。然后在javascript中使用该结果。

问题是你假设json结果已经是一个javascript对象,而事实并非如此。您需要将其转换为一个,使用eval函数(非常危险)或使用库来解析它。
这是我所描述的一个例子: http://www.factsandpeople.com/facts-mainmenu-5/26-html-and-javascript/89-jquery-ajax-json-and-php

或者你可以尝试这个,这是$ .getJSON http://docs.jquery.com/Ajax/jQuery.getJSON