サーバーからファイルを呼び出して、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>
";
}
?>