我正在尝试从我的服务器调用一个文件并返回一个 HTML 表单。我在这里问了一个问题开始,但现在我遇到了另一个问题。
文本框和提交按钮显示,但由于数据是 JSON 编码并通过 AJAX 返回到 DIV 我不太确定如何处理它。
现在这是结果。在我有“文本框和提交按钮”的地方,这些元素实际上就在那里。其他文本出现在它周围。
testing
{"formHTML":"
"textbox here" " submit button here"<\/form>"}
这是另一个调用我的服务器上的代码。这是显示的页面
<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>
这是被调用的页面,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);
?>
因为AJAX会自动更新div,我该如何解码数据呢?我应该这样做吗?
作为参考,这将正确显示表单而没有额外的文本。但是,由于我将从另一台服务器调用并且必须处理相同的域问题,因此我将不得不使用 JSONP
<?
if(isset($_GET['true'])){
echo "
<form method='post'>
<input type='textbox' name='text'/>
<input type='submit' name='submit_text'/>
</form>
";
}
?>