【发布时间】:2013-02-27 18:11:04
【问题描述】:
我正在使用 $.post 通过 ajax 将表单发送到 PHP 页面,该页面返回 JSON 数据。曾几何时,它运行良好,并且函数(数据)正常执行。不知何故,我把它弄坏了,现在它甚至没有触及函数(数据)。我已经尝试撤消我所做的大部分工作,但我仍然找不到问题。
这是脚本:
$("#modifyhome").submit(function(event) {
if($("#modifyhome").valid()) {
event.preventDefault();
var $form = $( this ),
title = $form.find('input[name="title"]').val(),
content = $form.find('textarea[name="content"]').val();
$.post("?action=page-accueil", {"title": title, "content": content},
function(data) {
if(data['error'] == 1)
{
$().message(data['message']);
$("div.jquery-message").effect("shake", {times: 3}, 900);
}
else if(data['error'] == 0)
{
$().message(data['message']);
$("div.jquery-message").effect("bounce", {times: 3}, 900);
}
else
{
$().message("Erreur de connexion au serveur : veuillez réessayer.");
$("div.jquery-message").effect("shake", {times: 3}, 900);
}
}, "json"
);
}
else
{
$("[id^=qtip-]").effect("pulsate", {times: 3}, 600);
return false;
}
});
这是 PHP 页面 (?action=page-accueil) 返回的内容:
{"error":0,"message":"Page modifiée."}
所有这些都被检查为有效的 JSON,但 jQuery 好像由于某种原因无法识别它。非常感谢任何帮助:)
【问题讨论】:
-
添加错误回调并发布结果。
$.post(...).fail(function(){ console.log(arguments); }); -
如果您将
post调用更改为等效的ajax调用并使用error回调,您将获得有用的信息。 -
您是否使用 chrome 或 firebug for firefox 检查了错误/网络控制台?
-
@R.S:是的,我做到了,0 个错误。 T.J.克劳德:现在正在努力。
-
您的描述有冲突。我看到你发帖到
?action=page-accueil,但你的PHP页面?page=page-accueil返回。不同的是“action=”和“page=”。可能是您的 php 没有返回任何内容。
标签: javascript jquery ajax json post