我的ajax跨域请求被Chrome取消
My ajax cross-domain request getting cancelled by Chrome
我正在从我试图创建的Google Chrome扩展中制作这些ajax请求,但每次我的扩展都请求它被取消。我不知道为什么。
下面的代码段可以正常工作。
function makeRequest(method, url){
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.djjohal.com");
xhr.send();
}
setTimeout(makeRequest, 10000)
但是当我把上面的代码改成这样,它就不起作用了
var submit = document.querySelector('input[type=submit]')
submit.addEventListener('click', callback)
function makeRequest(method, url){
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.send();
}
function callback(){
makeRequest('GET', 'http://www.djjohal.com')
}
我做错了什么?
Chrome扩展限制跨站点请求,除非该扩展具有正确的安全权限。
请参见:Chrome开发人员网站上的跨域XMLHttpRequest。
这是由于djjohal.com服务器上的设置造成的。
尝试问题中给出的代码片段,我在正常网页中从Chrome收到此消息:
XMLHttpRequest cannot load http://www.djjohal.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.
如何添加Access-Control-Allow-Origin头
如果你没有控制djjohal,你就没有做错任何事。
相关文章:
- Chrome和Firefox不会取消设置会话数组,但IE和Safari会取消设置
- Chrome扩展:从弹出窗口发送数据以取消链接JS文件
- Chrome 桌面通知无法取消
- “用户取消了身份验证”时,从Chrome扩展程序使用AuthWithOAuthPopup
- 如何在chrome扩展程序中静默取消webRequest
- IE似乎会取消选中一个不确定的复选框,而Chrome和FF会在点击时选中它
- 在Chrome中取消禁用alert()
- 谷歌chrome没有't在使用javascript取消选择时刷新选择选项
- Javascript窗口重定向在chrome中不起作用((取消)-状态)
- 如何取消chrome下载之前,它开始并获得下载url
- 我的ajax跨域请求被Chrome取消
- 如何取消设置chrome.windows. onremoded . addlistener
- 如何取消选择一个简单的chrome扩展HTML按钮标签
- CORS请求立即取消chrome
- Chrome和Safari在鼠标上取消选择文本
- 在Chrome/Android上,不能取消选择多个选择字段中的所有选项
- Chrome连接websocket服务器失败(操作码-1)“握手被取消”
- 在Chrome应用程序不能取消TCP服务器的TCP连接
- chrome中的Javascript window.print(),关闭新窗口或选项卡而不是取消打印会在父窗口中阻止Ja
- Google Chrome取消了上下箭头事件