$.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);
答案 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