Javascript 如何在onSubmit()期间查询另一侧?
简单版本,我正在创建一个基本的测试脚本,因为我们正在使用一个API到第三方服务器,该服务器保存客户详细信息,并且在我的一个表单中,在提交到我自己的站点之前,我需要将此数据发送到此服务器。这个第三方只需检查提供的信息,然后根据个人信息等返回客户选择的新密码是否足够强大。问题是,我无法向这个第三方页面提出请求,我在不同的网站上进行了测试,基本上我测试了以下内容Javascript 如何在onSubmit()期间查询另一侧?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,简单版本,我正在创建一个基本的测试脚本,因为我们正在使用一个API到第三方服务器,该服务器保存客户详细信息,并且在我的一个表单中,在提交到我自己的站点之前,我需要将此数据发送到此服务器。这个第三方只需检查提供的信息,然后根据个人信息等返回客户选择的新密码是否足够强大。问题是,我无法向这个第三方页面提出请求,我在不同的网站上进行了测试,基本上我测试了以下内容 <html> <head><title>test</title></head>
<html>
<head><title>test</title></head>
<SCRIPT TYPE="text/javascript">
<!--
function loadXMLDoc(param) {
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 ) {
if(xmlhttp.status == 200){
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
else if(xmlhttp.status == 400) {
alert('There was an error 400')
}
else {
alert('something else other than 200 was returned')
}
}
}
xmlhttp.open("GET", param, true);
xmlhttp.send();
}
function TestDataCheck()
{
var qtytested = document.testform.qtytested.value;
var qtypassed = document.testform.qtypassed.value;
var returnval;
if ( (qtytested != "null") && (qtypassed != "null")){
var str = qtytested+' '+qtypassed;
var dest = 'https://AnotherHost/Check?q=str;
loadXMLDoc(dest);
returnval = true;
}
else
{
alert("Please, choose a new password");
returnval = false;
}
return returnval;
}
// -->
</SCRIPT>
<FORM
ACTION="../cgi-bin/changepass.pl"
NAME="testform"
onSubmit="return TestDataCheck()"
>
<INPUT NAME="qtytested"><BR>
<INPUT NAME="qtypassed" type="password"><P>
<INPUT TYPE=SUBMIT VALUE="Submit">
</FORM>
</html>
如果我在我的服务器上用静态名称替换param,例如mytestscript.cgi,这就可以工作了——但是我不能从另一台服务器请求脚本。怎么做?我不在乎它是否是Ajax、JQuery等,只要它能与所有主流浏览器和小型浏览器兼容就行了
欢迎提供完整的样本/示例
谢谢。这可能是由于跨域限制。您可能需要查找跨域请求XDR。谢谢Aviator。你能根据我的脚本给我一个例子吗?不,因为我躺在沙发上:-但是看看这个哦,我明白了,我的服务器需要一个特殊的头:可以使用你的服务器作为代理,并向其他服务器发出CURL请求