javascript window.location在检查firebug时给了我一个错误的url路径
javascript window.location gives me a wrong url path when checking firebug
我有一个示例url网站:http://mysite.com/
var host = window.location.protocol+"//"+window.location.hostname;
$.ajax({
type:"POST",
data: params,
url : host+'/forms/get_data.php',
success:function(data){
...othercodeblahblah
}
});
为什么当我试图检查我的firebug时,它会让URL变得奇怪。
这是firebug的样本输出:
http://mysite.com/mysite.com/forms/get_data.php
有了这个网址,它现在给了我:
"NetworkError: 404 Not Found - http://mysite.com/mysite.com/forms/get_data.php"
它不应该像这样输出吗http://mysite.com/forms/get_data.php?为什么它给我一个错误的url路径?
您的帮助将得到极大的感谢和回报!
谢谢!
原因是window.location.protocol
已经包含冒号(:)。
因此host
变量包含http:://mysite.com
jQuery发现您没有传递一个完整的有效URL,所以它会自动预处理您的主机名。
修复程序正在更改
var host = window.location.protocol+"://"+window.location.hostname;
至
var host = window.location.protocol+"//"+window.location.hostname;
编辑
我用你的代码创建了一个jsfiddle:http://jsfiddle.net/xH5ZV/
以及固定代码:http://jsfiddle.net/xH5ZV/1/
请注意,在固定代码中,您不会得到两次主机名。
我不确定这样的错误可能来自哪里,但指定主机是多余的:AJAX请求无论如何都是同一个域(除非特别配置),所以只需从根指定一个部分:
url: "/forms/get_data.php",
相关文章:
- 我怎么能把一个错误当作未捕获的错误来记录呢
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- javascript window.location在检查firebug时给了我一个错误的url路径
- new SharedWorker(“whatever.js”)返回一个错误
- JSON.parse给了我一个错误,但JSONLint说它'是一个有效的json
- 有人能向我解释一下我犯的一个错误吗
- Jasmine:测试setTimeout函数会抛出一个错误
- JavaScript中的一个错误
- 为什么jqPlot显示了一个错误的饼图,其中包含通过AJAX检索的数据
- Webrtc和socket.io:createanswer()总是有一个错误.为什么?我的代码连接了两个对等体,但其中只
- 使用 jQuery 构建一个元素会给我一个错误
- Chai 期望 [函数] 抛出一个(错误)未通过测试(使用 Node)
- 在我的 jquery 函数中得到一个错误
- Addeventlistener 已转换为 IE.也许是另一个错误
- 我有一个错误,由于某种原因,号码被更改了,而不是名字
- 我无法建立离子机器人项目..它给了我一个错误:生成cmd enont
- JQueryAJAX调用:304 respose产生一个错误
- 继续得到一个错误,即某个东西不是函数,但找不到原因
- jQuerylib会导致一个错误,直到刷新为止
- HTML图像加载触发一个错误