我有一个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 -
}
});
非常感谢任何想法或建议。
答案 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/