javascript - 包含 php 文件时 $.post 失败
问题描述
我正在对返回 json 数据的 .php 文件进行 $post 调用。如果我只使用一个 .php,它工作得很好,但如果我尝试包含另一个 .php,它会落入 .failed 回调中。我在这里整理了一个示例,其中包含一个甚至什么都不做的.php。
Javascript:
$.post("/test_php/cgi.php", l_cDB_arg_array, function(o) {
console.log("Returned from db_interface call" + JSON.stringify(o));
console.log(JSON.stringify(o));
l_this.showLayer("top of the world", false);
}).fail(function(response) {
console.log('Error: ' + JSON.stringify(response));
});
首先cgi.php:
<?php
include "noop.php";
header("Content-Type: application/json; charset=UTF-8");
$ret = json_decode('{"some":"data"}');
echo json_encode($ret);
第二个noop.php
<?php
在 cgi.php 中包含 noop.php 时的结果
Error: {"readyState":4,"responseText":"{\"some\":\"data\"}","status":200,"statusText":"OK"}
在 cgi.php 中不包含 noop.php 时的结果
Returned from db_interface call{"some":"data"}
查看我得到的所有 .fail 参数:
响应:{"readyState":4,"responseText":"{"some":"data"}","status":200,"statusText":"OK"}
文本状态:解析器错误
errorThrown: SyntaxError: JSON 中位置 0 的意外标记
将标题移动到包含之前并没有改变任何东西。
解决方案
安装了eclipse,并用它编辑了noop.php。我可以使用 Eclipse 编辑器在文件中再看到一行,它在 Visual Studio 中显示。用eclipse删除多余的行解决了这个问题。
推荐阅读
- rx-java - 如何在 RxJava 中对两个列表进行分组?
- php - PHP:如何解析 Lilypond 文件?
- c# - 电报机器人:GetUpdates 冲突
- xml - XSLT 中的粗体和斜体标记 - Apache FOP - PDF
- python - Pandas - 滚动窗口 - CustomIndex - 右边界不包含在总和窗口中
- assembly - 计算机如何将符号“5”识别为 101?
- ruby-on-rails-6 - ActiveStorage::FileNotFoundError(使用数据库后端)
- c# - 有什么方法可以避免在 iText 7 中加载 XMP 元数据?
- regex - RegEx 不匹配的信息
- python - TFBertForSequenceClassification Keras model.layers 信息详情为空?如何检查模型?