Javascript 传递参数以获取请求
早上好,伙计们 我只是有一个小问题要解决这个问题: 我有一个页面,打开时应该从url获取一些数据,并显示在自己的内容中。但是GET url包含来自我的url的参数 因此: 1.从我的URL获取参数,如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"><
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未定义”