当需要从URL检索数据时,AJAX在浏览器中不起作用
AJAX doesn't work in browser when wanting to retrieve data from URL
当我想从URL检索数据时,我一直遇到这个奇怪的问题。
$.ajax({
url: 'URLHERE',
dataType: 'html',
success: function(data) { //function 2
var xml = $.parseXML(data)
$(xml).find('StopLocation').each(function() //function 3
{
var name = $(this).attr('name');
var x = $(this).attr('x');
alert(name);
alert(x);
}); //function 3 end } //function 2 end }); //ajax end
这在Dreamweaver中有效,但在浏览器中无效。我一直在阅读这可能是因为AJAX不能在浏览器的跨域上工作。这是真的吗?也读到,我可以改变数据类型为"jsonp"-但这甚至不能在dreamweaver工作。
你知道有什么问题吗?还是应该使用AJAX之外的其他东西来解决这个问题?
这是一个手机应用程序在PhoneGap,所以我也使用jquery。
您的阅读正确,这是交叉脚本漏洞预防工作。您可以使用JSONP来绕过它,但JSONP不是JSON——语法略有不同,因此您所联系的服务器必须以JSONP格式向您发送数据。如果您期待JSONP并接收JSON,那么难怪它在任何地方都无法工作。如果您期望JSONP和接收XML,那就像苹果和丰田。
当你使用PhoneGap时,我认为这是可能的。你可以用IE(不是其他浏览器)测试
var xhr = new XMLHttpRequest();
xhr.open("GET", "url", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var text = xhr.responseText;
alert(text);
}
}
xhr.send();
希望这有用,至少对我有用。在此之后,您可以解析为xml....然后继续你的工作
相关文章:
- 如何通过ajax将png图片从服务器发送到浏览器中显示
- 当使用ajax并将html数据保存为对象时,收听浏览器返回按钮.好的或坏的
- 是否可以创建一个带有进度条的跨浏览器AJAX照片上传器
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- 为什么我从浏览器修改html/js时会多次发送ajax请求
- 当在coldfusion中通过AJAX传递时,FORM提交在IE浏览器中给出空表单
- 同步(阻塞)ajax调用是否可以阻塞浏览器'的UI
- javascript Ajax方法在不同的浏览器中有不同的结果
- 如果不刷新Rails中的浏览器,AJAX请求就无法看到效果
- 是浏览器在AJAX响应中自动处理的HTTP标头
- 阻止AJAX队列阻止浏览器
- 使用Javascript的Ajax请求在iPhone浏览器中不起作用
- ajax互联网浏览器onchange
- 在某些浏览器上,Ajax 调用停止
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- Ajax + 浏览器后退按钮 = 复选框不起作用
- 如何在没有jQuery的情况下处理Ajax浏览器兼容性
- AJAX浏览器问题
- jQuery + Ajax浏览器解决方案非常大的文件
- 对于安全的应用程序,不再支持禁用javascript或非ajax浏览器是否可以接受?