gpt4 book ai didi

php - 意外 token 'a'

转载 作者:行者123 更新时间:2023-12-01 01:59:12 25 4
gpt4 key购买 nike

使用 jQuery 我制作了以下 JSON 数据:

[{"name":"date","value":"24-05-2013"},{"name":"omschrijving","value":""}]

这都是有效的 JSON,但是当我尝试使用 jQuery 触发数据时,出现以下错误:

Unexpected token A

在这里您可以看到 AJAX 调用:

$.ajax({
type: "POST",
url: "modules/rma/ajaxhandler.php",
contentType:"application/json; charset=utf-8",
data: goededata,
dataType: 'json',
succes: function(data) { alert(data); },
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert( textStatus + " " + errorThrown); }
}).done(function() {
});

ajaxhandler.php 包含以下行:

<?php
error_reporting(E_ALL);
session_start();

/**
* Ajaxhandler
*
*/

print_r($_POST);

echo json_decode($_POST['data']);
?>

需要发送的数据如下:

var allFields = $( [] ).add( date ).add( omschrijving ).add( klachtomschrijving ).add(status).add(artikelnummer).add(klantid).add(meldidrepro).add(meldidaankoop).add(leverancier).add(inkoopregelid).add(serienummer);`

var goededata = JSON.stringify(allFields.serializeArray());

如何纠正这个错误?

最佳答案

您不能使用 print_r,因为您正在请求 json。服务器响应无效。注释掉 print_r 调用,它应该可以工作。

意外的标记“a”来自 print_r 的输出:

array(
...
)

您可以使用额外的键进行调试:

echo json_decode(array(
'data' => $_POST['data'],
'debug' => print_r($_POST, true), // note the second parameter for print_r
));

在客户端,您使用response.data,并且调试输出位于“response.debug”中。

但是,为什么不简单地将服务器端的调试输出记录到文件中呢?

error_reporting(E_ALL); 也会是一个问题。

设置响应类型始终是一个好主意:

header('Content-type: application/json');

关于php - 意外 token 'a',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16737510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com