清空AJAX响应Chrome / Safari

时间:2015-04-13 06:03:51

标签: javascript jquery ajax

我有一个jQuery函数,可以使用Google自动完成API自动填充输入字段。基本上,对PHP文件进行AJAX请求,该文件使用file_get_contents()将JSON返回给应用程序,然后成功显示结果。很容易。

但是,我似乎在使用Chrome和Safari显示结果时出现问题。结果只是空白,虽然表现得好像它已经成功,因为它遵循回调函数没有JSON数据。如果我用简单的东西替换file_get_contents(),比如打印“Hello”,那么文本会成功返回。

我尝试在有问题的PHP文件中添加标题,我尝试将url从相对调整为绝对值。似乎什么都没有用,它开始让我发疯。

我的ajax请求如下所示:

$.ajax({
  type: 'GET',
  headers: {'cache-control': 'no-cache'},
  cache: false,
  url: 'http://www.example.com/ajax/locations.php',
  data: {data: input},
  async: false,
  dataType: 'text',
  success: function(a){
   - do something with a -
  }
});

非常感谢任何想法或建议。

1 个答案:

答案 0 :(得分:0)

这看起来像是由Chrome / Safari强制执行IE / Firefox不支持的XHTML标准引起的。这篇文章有更多详细信息和辅助功能,可以清理响应,以便它们在Chrome / Safari中运行:http://randomdrake.com/2009/03/30/php-solution-for-ajaxxhtml-entities-problem-with-chrome-and-safari/