需要表单来调用函数并使用AJAX XMLHttpRequest

时间:2015-05-16 16:15:08

标签: html ajax forms

我已经构建了一个表单,该表单正在寻找用户输入该学生ID,然后让它在网站上查找,然后返回谁拥有该ID。但是我的ajax请求中出现错误,并且它没有从网站返回任何内容。

<!DOCTYPE html>

<html lang="en">

<body>

</header>
<form>
<form  id="frm1" action= "#" method="#">
<div id="userData"></div>
StarID:<input type="text" name="starIds" id=starId>

<input type="submit" value="submit" onclick="getUser()">
</form>
</body>

function getUser() {
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("starId").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","http://cst.ridgewater.edu/Tools/AJAX_HTML   /?StarID=StarIDvalue", true);
xmlhttp.send("StarIDvalue"); 

}

我想在提交表单时调用getUser函数以便能够从网站获取StarID值。但是,当我尝试让程序工作时,我得到了这个:Cross-Origin Request Blocked:同源策略不允许在http://cst.ridgewater.edu/Tools/AJAX_HTML/?StarID=StarIDvalue读取远程资源。 (原因:CORS请求失败)。

2 个答案:

答案 0 :(得分:0)

您的网站似乎无权发出该AJAX请求。远程服务器拒绝您的请求,因为它不是来自同一个域 - 即您的网站未托管在cst.ridgewater.edu或类似网站上。

http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

答案 1 :(得分:-1)

您可能需要编辑HTML。有一个悬挂的head尾部和一些起始form标签。