Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML页面将无法完成XMLHTTPRequest_Javascript_Html_Xmlhttprequest - Fatal编程技术网

Javascript HTML页面将无法完成XMLHTTPRequest

Javascript HTML页面将无法完成XMLHTTPRequest,javascript,html,xmlhttprequest,Javascript,Html,Xmlhttprequest,因此,我试图获得一个外部脚本,以使用XMLHTTPRequest完成登录请求 我得到的错误是XMLHttpRequest无法加载http:///.php. 访问控制不允许源http://*允许源 现在我对这篇文章已经很熟悉了: 据我所知,我需要将其作为JSONP对象请求。问题是,我使用的是XMLHTTPRequest,而不能使用jQuery库来实现这一点 以下是我试图从中执行脚本的html页面中的代码: <html> <head> <meta http-equiv

因此,我试图获得一个外部脚本,以使用XMLHTTPRequest完成登录请求

我得到的错误是XMLHttpRequest无法加载http:///.php. 访问控制不允许源http://*允许源

现在我对这篇文章已经很熟悉了:

据我所知,我需要将其作为JSONP对象请求。问题是,我使用的是XMLHTTPRequest,而不能使用jQuery库来实现这一点

以下是我试图从中执行脚本的html页面中的代码:

<html>
<head>
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<script language = "javascript" type="text/javascript" src="jquery-1.7.2.js">
</script>
<script language = "javascript" type="text/javascript" src="main.js">
</script>
<script type="text/javascript">
function show_prompt()
  {
    var name=prompt("User Name");
    var password =prompt("Password"); 
    var loginWorked = false;
    if (name!=null && name!="") loginWorked = init(name,password);
if(loginWorked == true){
    window.location = "Toolbar.html"
}
}
</script>
</head>
<body>
<input type="button" onclick="show_prompt()" value="Login" />
</body>
</html>
}

以及sendRequest方法:

function send_request(theURL, theMethod, theParams)
{
var theReq = new XMLHttpRequest();
theReq.overrideMimeType("application/json");
theReq.open(theMethod,theURL,false);
if(typeof(theParams) === "string")
{
    theReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
}
else
{
    theReq.setRequestHeader("Content-type", "application/json");
    theParams = JSON.stringify(theParams);
}
if(_key) theReq.setRequestHeader("X-NOVA-INITIA-LASTKEY", _key);
if(theParams)
{
    theReq.send(theParams);
}
setKey(theReq);
return theReq;
}


虽然不是最有效的代码,但至少在非HTML环境下执行时,它可以工作。我正在使用Google Chrome的工具栏,但需要HTML覆盖才能工作。非常感谢您的帮助。

我不确定您的确切问题是什么,但是如果您知道使用JSONP是解决方案,那么您可以不用使用jQuery就可以做到这一点。它的工作原理如下:

如果这是针对,您可以在扩展的清单中请求权限:

{
  ...
  "permissions": [
    "http://data.nova-initia.com/"
  ],
  ...
}

您认为只有使用jQuery才能执行这些类型的请求吗?
{
  ...
  "permissions": [
    "http://data.nova-initia.com/"
  ],
  ...
}