我有一个执行此操作的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
类型。
答案 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页面的新副本。