0

テキストファイル変数を取る ajax コードがあります。値を警告しますが、phpを取得したい場合、未定義のインデックスのエラーが発生します

JavaScript コード

<SCRIPT>
function go(UserID) {
var name= encodeURI(document.getElementById('name').value);
var design= encodeURI(document.getElementById('design').value);
http.open('get', 'testAjax.php?design='+design+'&name = '+name);
http.send(null);
}
</SCRIPT>

HTML コード

<INPUT ID='name' type='text'>
<INPUT ID='design' type='hidden' value="<?php echo $UserID; ?>">
<A href="?process" onclick="javascript:go(<?php echo $UserID; ?>)">Link</A>

Phpコード

if(isset($_GET['process'])) {
echo $_GET['design'];
echo $_GET['name'];   
}

解決方法を教えてください。

4

2 に答える 2

0

onclick イベントがあるアンカー タグがあります。Onclick イベントが発生すると、testAjax.php?URL に ajax リクエストが送信されます。

ただし、アンカー タグをクリックするデフォルトの動作を妨げていないため、この ajax リクエストが送信されるとすぐにページがリダイレクトされ、もちろんパラメータ?processとして受け取るものは何もありません。$_GET

ajax が正しく機能していると仮定して、関数return false;の最後に追加しますgo()。また、サーバー側には のような句があるためif(isset($_GET['process'])) {、ajax URL も次のように更新する必要があります。testAjax.php?process

于 2012-04-19T02:57:08.143 に答える
0

わかりました、この問題を引き起こしている可能性があることをいくつか見つけました。試す:

<script>
    function go(UserID) {
        var name= encodeURI(document.getElementById('name').value);
        var design= encodeURI(document.getElementById('design').value);
        http.open('get', 'testAjax.php?process&design='+design+'&name='+name);
        http.send(null);
    }
</script>

<input id='name' type='text' />
<input id='design' type='hidden' value="<?=$UserID; ?>" />
<a href="#" onclick="javascript:go(<?=$UserID; ?>)">Link</a>

ご覧のとおり、html 変数 "process" を削除し、ajax 呼び出しの一部にしています。

于 2012-04-19T03:00:50.250 に答える