繁体   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