javascript - XMLHttpRequest 未获取responseText

标签 javascript ajax console xmlhttprequest

我正在从 Chrome 控制台执行以下操作:(这可能是我的问题的原因吗?)

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    console.log("response:",this.responseText);
}
xhr.open('GET', 'http://loc.gov/pictures/search/?q=a&fo=json&callback=JSON_CALLBACK');

该网址有效并且可以跨域。为什么xhr.responseText仍然为空?

最佳答案

发布的 URL 没有 CORS header ,但支持 JSONP。

另一方面,JSONP 不是 ajax,jQuery 只是巧妙地将其包装起来,但在纯 JavaScript 中,您必须使用脚本标记来获取 JSONP 数据

function JSON_CALLBACK(data) { // define callback function
    console.log(data);
}

// then create and insert the script tag, once loaded the callback will be called

var script = document.createElement('script');
script.src = 'http://loc.gov/pictures/search/?q=a&fo=json&callback=JSON_CALLBACK';
document.body.appendChild(script);

FIDDLE

关于javascript - XMLHttpRequest 未获取responseText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23022771/

相关文章:

javascript - Bootstrap Modal 不会关闭,之前使用 JQuery 附加到 Body

javascript - jQuery - 要使用实时搜索插件上的提交按钮执行搜索?

javascript - 是否有一些可以使用 ajax 填充的好的 javascript 网格?

javascript - 在文本区域中设置为只读

javascript - 我想悬停一个元素来影响其他元素 css

javascript - Pg-promise - 可能参与事务/任务的可重用查询

c# - 在不可见的 Web 浏览器对象 C# 中模拟按键

php - ajax 表单请求不适用于 mod_rewrite

java - 如何在Java中使用用户输入获取一系列数据

javascript - 重新加载页面而不重新加载控制台数据