【发布时间】:2011-11-29 11:37:47
【问题描述】:
$.ajax({
url:"http://www.xxxxxxxxxxxxxx.com/cc/validate",
type:"POST",
dataType:"json",
data: JSON.encode($parts),
complete: function(){
},
success: function(n)
{
console.log(n);
console.log(n.object);
console.log("ajax complete");
},
error: function(){
console.log("error");
}
});
- 这将获取在 ajax 发布调用上方定义的数组,并将编码的 json 数组发布到 php 文件。问题是确定为什么帖子只会让我返回“真”或“假”。如果我尝试返回任何字符串,我会在 ajax 中得到错误。我希望能够返回在 php 中创建的字符串,而不仅仅是“true”或“false”。
【问题讨论】:
-
我认为是同源策略 - en.wikipedia.org/wiki/Same_origin_policy
-
我不确定这是否是问题,因为文件来自同一个站点。如果这是问题所在,您知道解决方法吗?
-
如果这是来自同一站点的文件,您可能需要尝试
url中的相对路径,看看是否有帮助 -
你说的是这个部分吗:success: function(n) { alert(n); } 会提醒你一个 TRUE 或 FALSE?如果是这样,也许您的 PHP 脚本在某个地方留下了一个调试变量转储,它返回 TRUE/FALSE 而不是您所期望的。否则,如果您指出它返回 TRUE/FALSE 的确切位置会很有帮助,因为该脚本中有 3 个地方可以返回它(即完整、成功和错误函数)。
-
当外部 php 文件中没有回显任何内容或任何不是 TRUE 或 FALSE 的字符串时,ajax 会给出错误。但是,如果我回显“true”或回显“false”,则 ajax 成功。我的问题是我不想被限制为只返回 TRUE 或 FALSE 而不是任何字符串。