JSON响应问题&引导阿贾克斯

时间:2013-02-26 17:03:59

标签: jquery ajax json post twitter-bootstrap

我正在尝试使用此处找到的bootstrap-ajax插件,我可能会犯一些非常基本的初学者错误:bootstrap-ajax

我有一个非常基本的表单,包含一个提交按钮,该按钮应该对外部页面执行GET请求,然后从该外部页面的JSON响应中更新指定的div。

<div class="done-score" data-refresh-url="ajaxrefreshdiv.php">
Refresh Div
</div>

<div class="done-list">
Append Div
</div>

<a 
href="ajaxrefreshdiv.php" 
class="btn ajax" data-method="GET"
data-append=".done-list"
data-refresh=".done-score"
>

<i class="icon icon-check">
</i>
Done
</a>

在外部php页面上,我有以下代码:

<?
header('Content-type: application/json');
echo '
        [{"html":"THIS IS MY TEST"}]
     ';
?>

我也试着回应:

var data = {"html":"This is a test"};

从我见过的所有例子和教程中我看到这似乎是正确的响应方式,但字符串没有显示在页面上,旋转器也没有停止旋转(就像它仍在等待确认页面已响应)。然而,刷新div会删除初始文本并更新为空div,因此我知道刷新工作正常。

我做错了什么?

更新

我已经确认问题肯定是我对json响应的形成。我能够使用php创建一个数组,然后使用json_encode回显该数组,我的“html”键的值现在显示在div中。

$data=array(
'html' => '<div class="row-fluid">THIS IS MY TEST</div>'
);
echo json_encode($data)
;

然而,微调器仍在旋转,好像脚本还在等待某种类型的验证?

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。以防其他人遇到同样的问题是解决方案:

div没有更新或刷新的问题(至少在这种特殊情况下)是由于json响应格式不正确造成的。

div包含初始按钮或表格消失或旋转器不断旋转的问题 在查看了一个工作示例的源代码之后,我意识到你必须发送一个包含要为包含ajax按钮或ajax表单的div刷新的html代码的片段数组。