Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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 传递参数以获取请求_Javascript_Arrays_Parameter Passing - Fatal编程技术网

Javascript 传递参数以获取请求

Javascript 传递参数以获取请求,javascript,arrays,parameter-passing,Javascript,Arrays,Parameter Passing,早上好,伙计们 我只是有一个小问题要解决这个问题: 我有一个页面,打开时应该从url获取一些数据,并显示在自己的内容中。但是GET url包含来自我的url的参数 因此: 1.从我的URL获取参数,如www.mydomain.com?test=1&test1=bla 2.使用此参数(1和bla)打开GET并显示结果 以下是我当前的版本: <body> <h3>Visa Informationen</h3> <p id="data"><

早上好,伙计们

我只是有一个小问题要解决这个问题:

我有一个页面,打开时应该从url获取一些数据,并显示在自己的内容中。但是GET url包含来自我的url的参数

因此: 1.从我的URL获取参数,如
www.mydomain.com?test=1&test1=bla
2.使用此参数(1和bla)打开GET并显示结果

以下是我当前的版本:

<body>
  <h3>Visa Informationen</h3>
  <p id="data"></p>
  <script>
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        document.getElementById("data").innerHTML = myObj.response.visa.content;
      }
    };
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
  </script>
  <script>
    function getURLParameter(name) {
      var value = decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, ""])[1]);
      return (value !== 'null') ? value : false;
    }

    var param = getURLParameter('test');
    if (param) document.getElementById("testnr").innerHTML = param;

    var param1 = getURLParameter('test1');
    if (param1) document.getElementById("testnr1").innerHTML = param1;

    var url = "https://api01.otherdomain.com?test=" + param + "&test1" + param1 + "&trv=0&vis=1"
  </script>  
</body>

签证信息

var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var myObj=JSON.parse(this.responseText); document.getElementById(“数据”).innerHTML=myObj.response.visa.content; } }; open(“GET”,url,true); xmlhttp.send(); 函数getURLParameter(名称){ var value=decodeURIComponent((RegExp(name+'='+'(.+?)(&|$)).exec(location.search)| |[,“”])[1]); 返回值(value!='null')?值:false; } var param=getURLParameter('test'); if(param)document.getElementById(“testnr”).innerHTML=param; var param1=getURLParameter('test1'); if(param1)document.getElementById(“testnr1”).innerHTML=param1; 变量url=”https://api01.otherdomain.com?test=“+param+”&test1“+param1+”&trv=0&vis=1”
这段代码有什么问题吗

亲切问候,,
Chris

您似乎对脚本执行顺序有意见

我假设
testnr
元素来自XMLAjax请求

HTML中有两个脚本块,它将在页面加载时执行

第二个脚本块运行时,第一个XMLHttpRequest未完成,因此无法找到给定的HTML标记
document.getElementById(“testnr”).innerHTML

要解决这个问题,您只需要在XMLHttpRequest请求完成后执行脚本

在您的情况下:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        document.getElementById("data").innerHTML = myObj.response.visa.content;
// Execute new created function here 
        SetValues();

    }
};
xmlhttp.open("GET", url, true);
xmlhttp.send();


function getURLParameter(name) {
  var value = decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, ""])[1]);
  return (value !== 'null') ? value : false;
}

function SetValues()
{
var param = getURLParameter('test');
if (param) document.getElementById("testnr").innerHTML = param;

var param1 = getURLParameter('test1');
if (param1) document.getElementById("testnr1").innerHTML = param1;

var url = "https://api01.otherdomain.com?test=" + param + "&test1" + param1 + "&trv=0&vis=1"
}
</script>
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myObj=JSON.parse(this.responseText);
document.getElementById(“数据”).innerHTML=myObj.response.visa.content;
//在此处执行新创建的函数
SetValues();
}
};
open(“GET”,url,true);
xmlhttp.send();
函数getURLParameter(名称){
var value=decodeURIComponent((RegExp(name+'='+'(.+?)(&|$)).exec(location.search)| |[,“”])[1]);
返回值(value!='null')?值:false;
}
函数SetValues()
{
var param=getURLParameter('test');
if(param)document.getElementById(“testnr”).innerHTML=param;
var param1=getURLParameter('test1');
if(param1)document.getElementById(“testnr1”).innerHTML=param1;
变量url=”https://api01.otherdomain.com?test=“+param+”&test1“+param1+”&trv=0&vis=1”
}

好的,我解决了这个问题

下面是我的结果,对我来说效果很好:

    <script>
function getURLParameter(name) {
  var value = decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, ""])[1]);
  return (value !== 'null') ? value : false;
}

var param = getURLParameter('test');

var param1 = getURLParameter('test1');

var url = "https://api01.otherdomain.com?test=" + param + "&test1" + param1 + "&trv=0&vis=1"
</script>

<script>
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        document.getElementById("additionalContent").innerHTML = myObj.response.additionalContent;
        document.getElementById("data").innerHTML = myObj.response.visa.content;
    }
};
xmlhttp.open("GET", url, true);
xmlhttp.send();

</script>

函数getURLParameter(名称){
var value=decodeURIComponent((RegExp(name+'='+'(.+?)(&|$)).exec(location.search)| |[,“”])[1]);
返回值(value!='null')?值:false;
}
var param=getURLParameter('test');
var param1=getURLParameter('test1');
变量url=”https://api01.otherdomain.com?test=“+param+”&test1“+param1+”&trv=0&vis=1”
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myObj=JSON.parse(this.responseText);
document.getElementById(“additionalContent”).innerHTML=myObj.response.additionalContent;
document.getElementById(“数据”).innerHTML=myObj.response.visa.content;
}
};
open(“GET”,url,true);
xmlhttp.send();

Hey Anant。谢谢你的主意。我刚试过,但还是出现了同样的错误。我检查了F12,它说“ReferenceError:url未定义”