我已经构建了一个chrome扩展,在加载时,我需要向服务器发出GET请求(现在从localhost尝试)。
使用Chrome调试器我可以看到调用已经完成,但是它从未在locahost服务器上运行(正在运行)。
Javascript代码:
$.get( "http://localhost:8080/myproject/api/getInfo", { userId: "me" } )
.done(function( data ) {
alert('Received!');
});
这是我在Chrome调试器中看到的内容:
Request URL:http://localhost:8080/myproject/api/getInfo?userId=me
Request Headers
Provisional headers are shown
Accept:*/*
Origin:chrome-extension://ginkmpnhbepolafnopjackbgefh
Query String Parameters
view source
view URL encoded
userId:me
如果我将http://localhost:8080/myproject/api/getInfo?userId=me
直接放在浏览器上,则效果很好。
有什么问题?
答案 0 :(得分:1)
我不知道上面的代码有什么问题,但我通过在chrome扩展脚本上创建一个AJAX XMLHttpRequest
对象,使用下面的代码完成了同样的事情。
var userid="me";
var xmlHttpRequest = (window.XMLHttpRequest) ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xmlHttpRequest.open("GET","http://localhost:8080/myproject/api/getInfo",true);
xmlHttpRequest.send("userid="+userid);
xmlHttpRequest.onreadystatechange = function()
{
if(xmlHttpRequest.readyState == XMLHttpRequest.DONE)
{
alert('Received!');
}
}
答案 1 :(得分:0)
我遇到的问题是浏览器阻止了从HTTPS
网站(显示插件的地方)到HTTP://localhost
的来电。
当我使用HTTPS
服务器网址将其部署到生产环境时,它开始工作。