服务器停止确认php更改

时间:2012-09-11 09:40:46

标签: php ajax webserver centos

我有一个执行此操作的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);

但是当我查看google dev工具,网络标签时,我发现它没有返回我添加的最后一个数组元素thefield。如果我尝试在JavaScript中使用该元素的变量,我会得到未定义的data.thefield

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

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

我还在我的ajax调用中删除了类型json。检查后我对服务器没有确认我对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()更改为json类型。

1 个答案:

答案 0 :(得分: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>')
});

这是cache-buster代码,用于确保检索php页面的新副本。