将数据从Ajax传递到PHP,出现语法错误

Passing data from Ajax to PHP, getting syntax error

本文关键字:语法 错误 PHP 数据 Ajax      更新时间:2023-10-10

我在使用一些Ajax和PHP时出错。

在浏览器控制台中,我收到以下消息:发生以下错误:parserror SyntaxError:意外的令牌<。我似乎不知道这是从哪里来的,我已经尽可能多地调试了它。

在main.js:中

$(document).ready(function(){
    $(".post").click(function(){
        var number = {event_number: this.id}; //This gets the ID of the element clicked
        $.ajaxSetup ({
            cache:false
        });
        request = $.ajax ({
            type: "GET",
            url: "event_page.php",
            data: number,
            dataType: 'json'
        });
        request.done(function(response){
            var resultsArray = response;
            console.log(resultsArray);
            $("#main").text(resultsArray);
        });
        request.fail(function (jqXHR, textStatus, errorThrown){
            console.error("The following error occured: " + textStatus,     errorThrown);
        });
    });
});

在event_page.php中:

<?php
    $data = json_decode(stripslashes($_GET['data']), true);
    $event_number = $data['event_number'];
    echo $event_number;
?>

编辑

以下是控制台中显示的完整错误消息:

The following error occured: parsererror SyntaxError: Unexpected token <
at Object.parse (native)
at n.parseJSON (http://localhost/js/jquery.min.js:4:16756)
at Xb (http://localhost/js/jquery.min.js:4:19069)
at y (http://localhost/js/jquery.min.js:4:22515)
at XMLHttpRequest.c (http://localhost/js/jquery.min.js:4:26989)

我还想指出,main.js和event_page.php存在于同一目录中。

正如您在这里看到的,我所要做的就是将元素的ID发送到PHP文件,并对其进行回显以验证它是否已发送。然而,我得到了上面的错误,我不太确定为什么会发生这种情况。

谢谢你的帮助。

您正在使用ajax 将event_number发送到服务器

你可以像这个一样得到它

$_GET['event_number'];

要获得作为JSON的发回响应,请尝试以下操作:

<?php
  header('Content-Type: application/json');
  echo json_encode($_GET['event_number']);