我正在尝试使用此处找到的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)
;
然而,微调器仍在旋转,好像脚本还在等待某种类型的验证?
答案 0 :(得分:0)
我找到了问题的答案。以防其他人遇到同样的问题是解决方案:
div没有更新或刷新的问题(至少在这种特殊情况下)是由于json响应格式不正确造成的。
div包含初始按钮或表格消失或旋转器不断旋转的问题 在查看了一个工作示例的源代码之后,我意识到你必须发送一个包含要为包含ajax按钮或ajax表单的div刷新的html代码的片段数组。