Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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 如何在onSubmit()期间查询另一侧?_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 如何在onSubmit()期间查询另一侧?

Javascript 如何在onSubmit()期间查询另一侧?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,简单版本,我正在创建一个基本的测试脚本,因为我们正在使用一个API到第三方服务器,该服务器保存客户详细信息,并且在我的一个表单中,在提交到我自己的站点之前,我需要将此数据发送到此服务器。这个第三方只需检查提供的信息,然后根据个人信息等返回客户选择的新密码是否足够强大。问题是,我无法向这个第三方页面提出请求,我在不同的网站上进行了测试,基本上我测试了以下内容 <html> <head><title>test</title></head>

简单版本,我正在创建一个基本的测试脚本,因为我们正在使用一个API到第三方服务器,该服务器保存客户详细信息,并且在我的一个表单中,在提交到我自己的站点之前,我需要将此数据发送到此服务器。这个第三方只需检查提供的信息,然后根据个人信息等返回客户选择的新密码是否足够强大。问题是,我无法向这个第三方页面提出请求,我在不同的网站上进行了测试,基本上我测试了以下内容

<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请求