【发布时间】:2013-02-14 19:46:57
【问题描述】:
我正在通过 PHP 从 MySQL 数据库中获取数据。我正在使用 jQuery 从 PHP 发送和获取数据。这是代码。
$.POST("SubmitCode.php", $("#questionCodeForm").serialize(),'json').done(function(data) {});
现在的问题是,一旦我发送了这些数据,页面就会刷新。如何停止页面刷新。如果我删除“json”,则页面停止刷新,但问题是我想在不刷新页面的情况下获取 json 数据。我该怎么做?
-------------------------------------------编辑后-- -------------------------------------------------- ------------------------- 这是更新的代码
$(document).ready(function() {
initialization();
codeSubmission();
});
function initialization() {
$("#answerForm").hide();
}
function codeSubmission() {
$("#submitButton").click(function(e) {
e.preventDefault();
$.post("SubmitCode.php", $("#questionCodeForm").serialize()).done(function(data) {
var questionName = data.questionName,
options = data.options,
pollingStatus = data.pollingStatus,
codeExist = data.codeExist;
alert(data);
alert(data[1]);
alert(questionName);
alert(options);
if(codeExist == true) {
$("#questionTitle").text("questionName");
for(rowNum=1;rowNum<=5;rowNum++) {
$("#checkbox-"+rowNum).val("Answer1");
$("#checkbox"+rowNum+"label").text("Answer"+rowNum);
}
$("#answerForm").slideDown(500);
} else if(codeExist == false) {
alert("This quiz code is invalid");
}
},'json');
//return false;
});
//return false;
}
现在的问题是 alert(questionName) 的输出未定义。数据作为字符串传递。如何在正确的变量中获取正确的信息?
【问题讨论】:
-
那个编辑真的是另一个问题,而不是这个问题的更新。但是 - 您是否发送 JSON 数据(在 PHP 中使用
echo json_encode($yourArray);,没有其他输出)。 -
是的,这是正确的。我只是通过 json 呼应变量
-
简单出现的错误是:Uncaught TypeError: Object json has no method 'apply'
-
该错误通常表明
$.post()例程认为'json'参数是回调。问题是你在.done()调用中有'json'字符串,而不是$.post()调用。它应该在序列化数据参数之后。 -
找到了答案。我必须使用 jQuery.parseJSON 在客户端解析 JSON
标签: php jquery forms post refresh