0

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

1 に答える 1