javascript window.location 在检查 Firebug 时给我一个错误的 url 路径

标签 javascript

我有一个示例 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

有了这个 url,它现在给了我:

"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/

请注意,在固定代码中您不会两次获得主机名。

关于javascript window.location 在检查 Firebug 时给我一个错误的 url 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303281/

相关文章:

javascript - 屏幕尺寸变化时 HTML 元素的棋盘着色

javascript - 领英 API : how can I use a value stored in a variable to post network update

javascript - 在 sqlite 中出现错误,例如 ionic1 中的查询

javascript - jquery中如何打印函数的返回值

javascript - 将 Node 应用程序传输到服务器

javascript - 从循环内的父上下文更改/更新 Handlebars JS 中的变量

javascript - 垂直对齐和具有动态内容和高度的元素

javascript - 如何使用 jQuery 验证美国邮政编码并在 Bootstrap 模板中的文本字段上方以红色显示错误消息?

javascript - 通用 $.ajax() 调用函数以实现可重用性

javascript - 如何根据 Ajax 请求的结果提交(或不提交)表单?