我试图从 jQuery 触发的 GET 请求中返回一个 HTML 表单,但我不确定如何去做。客户的服务器会调用我的服务器,然后我会返回一个表单。我了解相同的域策略会起作用,并且有一些方法可以解决它,例如 JSONP,但我不知道如何返回整个 HTML 表单。
现在我正在本地主机上进行测试,所以我可以使用 GET 到我服务器上的另一个页面,而不必担心相同的域策略,如果这有助于简化事情
这是我的思考过程。
//form_deliver.php
//this code would go on the customer's server which would then call to mine
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<?php
echo "look at all of this stuff!";
?>
<script>
$.getJSON("/form_deliverer.php?form_request=true",function(data) {
//alert(data.check); //this was just for testing,
});
</script>
这是它将 GET 请求发送到的页面
//form_deliverer.php
//this code is on my server which will return a form to the customer
<?
if(isset($_GET['form_request'])){
// echo json_encode(array("check" => "true")); //just for testing
//return form here
?>
为简单起见,假设这是我要返回的形式是
<form method="post">
<input type="textbox" name="text"/>
<input type="submit" name="submit_text"/>
</form>
根据jackJoe的建议编辑这是我的更新
form_deliver.php 上的代码
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<?php
echo "look at all of this stuff";
?>
<script>
var form_request = "true";
$.get("/form_deliverer.php", {var: form_request},
function(data){
$("#yourdiv").html(data);
}, "html");
</script>
<div id = "yourdiv">
</div>
这是在 form_deliverer.php
<?
if(isset($_GET['form_request'])){
return "
<form method='post'>
<input type='textbox' name='text'/>
<input type='submit' name='submit_text'/>
</form>
";
}
?>