簡體   English   中英

從Ajax獲取變量到PHP

[英]Get variable from Ajax to Php

我有一個ajax代碼,它帶有textfiled變量。 它警告值,但是當我想進入php時,它給了我一個Undefined index錯誤

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>

郵遞區號

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

請讓我知道如何解決。

您有一個錨標記,上面有一個onclick事件。 觸發時的testAjax.php?事件會向testAjax.php?發送ajax請求testAjax.php? 網址。

但是,由於您沒有阻止單擊錨標記的默認行為,因此,一旦發送了此Ajax請求,頁面將重定向到?process ,當然,您在什么地方也不會收到任何作為$_GET參數的信息。

假設您的ajax正確,添加return false; go()函數的末尾。 另外,由於在服務器端您有一個類似於if(isset($_GET['process'])) {的子句,因此您還應該將ajax url更新為: testAjax.php?process

好的,我發現有幾件事可能導致了此問題。 嘗試:

<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調用的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM