Php JSON编码的值未正确返回
我试图从我的服务器调用一个文件并返回一个HTML表单。我问了一个问题开始,但现在我有另一个问题 文本框和提交按钮会显示出来,但由于数据是JSON编码的,并通过AJAX返回给DIV,我不太确定如何处理它 现在是结果。在我有“文本框和提交按钮”的地方,这些元素实际上就在那里。另一个文本显示在其周围Php JSON编码的值未正确返回,php,jquery,html,ajax,json,Php,Jquery,Html,Ajax,Json,我试图从我的服务器调用一个文件并返回一个HTML表单。我问了一个问题开始,但现在我有另一个问题 文本框和提交按钮会显示出来,但由于数据是JSON编码的,并通过AJAX返回给DIV,我不太确定如何处理它 现在是结果。在我有“文本框和提交按钮”的地方,这些元素实际上就在那里。另一个文本显示在其周围 testing {"formHTML":" "textbox here" " submit button here"<\/form>"} 测试 {“formHTML”: “此处文本框”“此处
testing
{"formHTML":"
"textbox here" " submit button here"<\/form>"}
测试
{“formHTML”:
“此处文本框”“此处提交按钮”“}
这是另一台调用我的服务器上的代码。这是进行显示的页面
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<?php
echo "testing";
?>
<script>
$.ajax({
type: 'GET',
url: 'form_deliverer.php',
data: "true",
success: function(response) { // on success..
$('#yourdiv').html(response); // update the DIV
}
})
</script>
<div id = "yourdiv">
//form is displayed here
</div>
$.ajax({
键入:“GET”,
url:“form_deliver.php”,
数据:“正确”,
成功:函数(响应){//on success。。
$('#yourdiv').html(响应);//更新DIV
}
})
//表格显示在这里
下面是被调用的页面,form_deliverer.php
<?
$o = new stdClass();
$o->formHTML = "<form method='post'><input type='textbox' name='text'/><input type='submit' name='submit_text'/></form>";
echo json_encode($o);
?>
<?
echo json_encode("<form method='post'><input type='textbox' name='text'/><input type='submit' name='submit_text'/></form>");
?>
您不需要解码数据,但必须将响应视为对象。因为您json\u encode()
ed了一个stdClass,所以ajax调用基本上会得到如下结果:
{"formHTML": "<form method='post'><input type='textbox' name='text'/><input type='submit' name='submit_text'/></form>"}
但是,如果只传入字符串,则可以简单地json\u encode()
字符串,而不是创建一个对象然后对其进行编码。这样,您就可以在javascript中直接使用response
form_deliver.php
<?
$o = new stdClass();
$o->formHTML = "<form method='post'><input type='textbox' name='text'/><input type='submit' name='submit_text'/></form>";
echo json_encode($o);
?>
<?
echo json_encode("<form method='post'><input type='textbox' name='text'/><input type='submit' name='submit_text'/></form>");
?>
除了元素之外,我还将获得以下文本。“…此处的文本框…此处的按钮…”
$.ajax({
type: 'GET',
url: 'form_deliverer.php',
data: "true",
success: function(response) { // on success..
$('#yourdiv').html(response); // update the DIV
}
})