mr.*_*ane 7 javascript https xmlhttprequest
如果我在Javascript中使用相对路径来从服务器获取页面(在div中显示输出),Javascript是否使用与加载它的页面相同的协议/端口?
例如:
请求父页面https://www.foo.com/bar.php
bar.php上的JS代码:
var turl = "/new_dir/index.php?r="+r;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",turl,false);
xmlhttp.send(null);
Run Code Online (Sandbox Code Playgroud)
由于父页面是在端口443上使用https请求并提供的,这是否意味着JS将使用相同的协议和端口将GET请求发送到新页面?或者它会通过端口80上的http发送请求,因为我没有在'turl'变量中指定连接协议?
它将使用相同的端口和协议,因为您尚未指定任何其他内容.您的URL是RFC-speak中的相对引用,详见RFC的4.2节.(我只是碰巧知道RFC部分参考,因为我刚刚发现了这个关于http/https东西的漂亮技巧.)
所以你的要求
/new_dir/index.php?r=blah
Run Code Online (Sandbox Code Playgroud)
相对于文件
http://www.foo.com/bar.php
Run Code Online (Sandbox Code Playgroud)
解决了
http://www.foo.com/new_dir/index.php?r=blah
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13084 次 |
| 最近记录: |