簡體   English   中英

在簡單AJAX上解析錯誤語法錯誤意外令牌

[英]parse error syntax error unexpected token on simple AJAX

我是AJAX和javascript的初學者,所以請多多包涵。

我想將AJAX中的變量( document.getElementById('txtSearch').value )傳遞給PHP,所以我嘗試編寫如下代碼:

$("#btnSearch").click(function() {
            var keyword = "";
            alert(document.getElementById('txtSearch').value);
            $.ajax({
                url: BASE_URL + 'index.php/jwm/search', //This is the current doc
                type: "POST",
                dataType:'json', // add json datatype to get json
                data: ({keyword: document.getElementById('txtSearch').value}),
                error : function(jq, st, err) {
                    console.log(arguments);
                    alert(st + " : " + err);
                },
                success: function(data){
                    alert(data);
                }
            });  
        }); 

但是,我遇到了一個錯誤: parse error syntax error unexpected token < ,有時錯誤有些變化,如下所示: parse error syntax error unexpected token T

編輯這是我的PHP代碼:

function search() {
        $keyword = $_POST['keyword'];
        echo "TEST : $keyword";
        $result = $this->jwm_m->getDataByKeyword('msmall', $keyword);
        header('Access-Control-Allow-Origin: *');
        header('Access-Control-Allow-Methods: GET, POST');  
        header('Content-type: application/json', true);
        echo json_encode($result);
    }

這是我的控制台得到的:

arguments: null
caller: null
length: 0
name: ""

我的目標是傳遞 document.getElementById('txtSearch').value ,請幫幫我。

謝謝您的幫助:D

PHP代碼中有關更新的問題的幾點注意事項:

  • 您提到您得到了一個錯誤parse error syntax error unexpected token T 這可能是因為echo "TEST : $keyword"; 在PHP中,導致響應為無效JSON。

  • 您在echo "TEST : $keyword";之后設置標題echo "TEST : $keyword"; ,這將引發類似於Cannot modify header information - headers already sent by...的PHP警告Cannot modify header information - headers already sent by...

因此,刪除echo "TEST : $keyword"; 行,然后嘗試再次發送請求。 這一次,請保持開發人員工具的網絡面板處於打開狀態,並檢查正在發送/接收的數據。 如果仍有問題,請使用服務器響應和請求正文更新您的問題。 您提供的信息越多,獲得好的解決方案的可能性就越大。

暫無
暫無

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

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