0

我有一个执行此操作的 php 文件:

$recresults = array('dupes' => $result, 'total' => $number2);
header('Content-type: application/json');
echo json_encode($recresults);

然后我将文件修改为:

$recresults = array('dupes' => $result, 'total' => $number2, 'thefield' => "WWW");
header('Content-type: application/json');
echo json_encode($recresults);

但是当我检查谷歌开发工具,网络选项卡时,我发现它没有返回我添加的最后一个数组元素thefield。如果我尝试在我的 JavaScript 中使用该元素的变量,我会得到 undefined data.thefield

因此,为了查看服务器是否正在确认更改,我尝试将代码更改为:

$recresults = array('dupes' => $result, 'total' => $number2, 'thefield' => "WWW");
echo ("WTF SERVER?");

我还删除json了我的 ajax 调用中的类型。好吧,在检查了我关于服务器不承认我对 php 文件的更改是正确的。返回代码仍然是json第一个代码集中的代码。我尝试了一个更改 php 文件名的老技巧。不工作。尝试重新启动服务器。没有骰子。

我能做些什么?服务器没有返回任何错误。

$.post(PROCESSORFILE, {"task": "csv_dedupe", "file_name": file_name, "column_dedupe":                                    elem}, function(data) {
                $("#message").replaceWith('<div id="message" class="nNote nSuccess hideit"><p><strong>CSV Deduped! </strong><span class="badge badge-important">' + data.thefield + '</span> duplicate<span class="label label-info"> ' + data.dupes+ '</span> found</p></div>')
            });

当我使用 json_encode 从 php 文件返回内容时,我将上面的 JS 更改$.post()为 type json

4

1 回答 1

1

尝试以下操作,根据变量的内容替换?为。&PROCESSORFILE

var cacheBuster = new Date().getTime() + Math.round(Math.random()*100000);
$.post(PROCESSORFILE + "?t=" + cacheBuster, {"task": "csv_dedupe", "file_name": file_name, "column_dedupe": elem}, function(data) {
    $("#message").replaceWith('<div id="message" class="nNote nSuccess hideit"><p><strong>CSV Deduped! </strong><span class="badge badge-important">' + data.thefield + '</span> duplicate<span class="label label-info"> ' + data.dupes+ '</span> found</p></div>')
});

这是缓存破坏代码,以确保检索到 php 页面的新副本。

于 2012-09-11T09:52:23.580 回答