jQuery AJAX - 在本地主机上使用 XAMPP 时不接收 JSON 数据
Posted
技术标签:
【中文标题】jQuery AJAX - 在本地主机上使用 XAMPP 时不接收 JSON 数据【英文标题】:jQuery AJAX - Not receiving JSON data when on localhost using XAMPP 【发布时间】:2021-05-02 21:33:36 【问题描述】:我正在使用此代码:
$.ajax(
type: 'post',
url: "http://www.localhost/do_getmemes.php",
dataType: 'json',
data: userid: userid, lastid: lastID,
success: function(data)
console.log('bla');
console.log(data);
);
在do_getmemes.php
内部,post 参数被成功接收,json 正在生成,但我在success
上没有得到它??控制台没有显示任何内容。它在网站上运行良好,但在使用 XAMPP 的本地主机上却不行
这一切都在php文件中工作,这是最后:
file_put_contents('test.json', json_encode($array)); // file generated and not empty
echo json_encode($array);
这里有什么问题?
编辑:
AJAX 通常有效,我通过获取简单字符串进行测试:
$.ajax(
url: "http://www.localhost/contact/text.php",
success: function(data)
console.log(data) // got it
);
【问题讨论】:
您是否考虑过在您的 php 文件中将某些内容记录到error_log()
以确保您得到它?也许可以尝试直接使用curl 或postman 调用它
错误日志没有显示这个 php 文件的任何内容,我不知道为什么会这样,因为 json 是生成的而不是空的
http://www.localhost/do_getmemes.php
?将代码转移到问题时,这是否被破坏了?
您是从文件系统还是从 XAMPP Web 服务器加载页面? AJAX 不能在文件系统中工作。
我在装有 Windows 10 的电脑上使用 XAMPP。AJAX 确实有效,我通过获取简单文本对其进行了测试,请在 1 分钟内检查问题的更新
【参考方案1】:
问题是不相关的警告,这些警告也通过 API 发回并导致 parsererror SyntaxError: Unexpected token < in JSON at position 0
错误。
除了修复它们之外,这是确保 API 能够正常工作的方法:
禁用 PHP 文件中的警告:
error_reporting(0);
ini_set('display_errors', 0);
【讨论】:
以上是关于jQuery AJAX - 在本地主机上使用 XAMPP 时不接收 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章
本地 JQuery 和 JQuery 移动文件在本地主机上不起作用
本地主机上 laravel 5.3 中 ajax 发布请求中的 CSRF 令牌不匹配异常
无法让本地主机上的 ajax 调用 require_once 工作