我已经在主机文件中定义了一个别名(在Linux上): 192.168.1.123 mysite-example.com 当我在网络浏览器中访问它时,它可以工作。 但是,当我的JavaScript调用jquery ajax帖子时,它不起作用。

这不起作用

$.ajax({
        url: "http://mysite-example.com/mypage.php",
        data: { "test": "test" },
        success:function(data) {
            console.dir(data);
        },
        error: function(errorThrown){
            console.dir(errorThrown);
        }
});

这是可行的

$.ajax({
        url: "http://192.168.1.123/mypage.php",
        data: { "test": "test" },
        success:function(data) {
            console.dir(data);
        },
        error: function(errorThrown){
            console.dir(errorThrown);
        }
});

是什么原因造成的? 我该如何解决?

===============>>#1 票数:0

检查主域。 问题是您的JS ajax之外的其他问题

问题:mysite-example.com js:mysite.example.com

===============>>#2 票数:0 已采纳

该错误是由于域的解释方式所致。 当我加载客户端页面时,我是从服务器的实际IP地址192.168.1.123加载它的。 但是它正在通过域名请求服务器。 由于多个域可以位于同一台服务器上,因此(我认为)这会导致浏览器将它们解释为跨域,从而拒绝它。

当我访问域名( http://mysite-example.com )的客户端页面(使用ajax调用)时,ajax调用有效。

(我也可以通过在服务器上添加标header('Access-Control-Allow-Origin: *');header('Access-Control-Allow-Origin: *');使其工作,但这不是一个好主意。)

  ask by Don Rhummy translate from so

未解决问题?本站智能推荐:

1回复

如何将主机名解析为节点js中的IP地址

我需要将在主机文件中定义的主机名解析为其相应的IP地址。 例如,我的主机文件如下所示:“ / etc / hosts” 现在在我的node.js ,我可以读取该文件的内容,但是我需要获取给定的hostname 。 PS - npm pkg或任何第三方软件包无法安装在机器上。
1回复

Grunt服务器如何正确设置主机名和虚拟主机?

我想在自定义域上的生产服务器上测试我的角度应用程序。 我试着这样做: 我停用了Apache服务器 我在/ etc / hosts 127.0.0.1:9000 mydomain.loc中添加了一行 我将配置更新为GruntFile.js //实际的grunt服
2回复

Chrome浏览器/ Safari(webkit)中的Facebook Javascript SDK登录问题 - 不安全的Javascript尝试

已经提出了类似的问题,但这些问题的解决方案似乎对我没有帮助。 我在虚拟机上运行了一个本地开发站点: http : //lamp.site 当index.php加载时,我已经运行了这个javascript(使用正确的appId): 然后当单击一个按钮时,会触发此javascri
1回复

为什么子域不能与express.js一起使用?

所以我正在本地进行实验,这在我的主机文件中 这是我的代码: 这基本上是来自软件包网站api.example.dev/users的示例,效果很好,但是当我转到api.example.dev时,内容与example.dev相同(就像被覆盖了一样),我的想法是什么做错了吗? 谢谢
4回复

使用jQuery.ajax post函数将javascript数组中的数据传递给服务器?

我想知道是否可以使用jQuery的ajax函数将存储在javascript数组中的数据传递给服务器。 在jQuery文档中,它指定: 可以将“数据”设置为数组吗? 鉴于数据似乎期待关键价值对,它将如何运作? 我目前只是硬编码值,但我希望它是一个更动态的方法..我目前的代码是:
1回复

Codeigniter中jquery.ajax的内部服务器错误

这是我的ajax代码 这是我在控制器中的服务器端方法代码 但是在控制台日志中,我收到此错误 POST http:// localhost / ci_ajax / test 500(内部服务器错误) 和console.log错误功能的结果是 错误[对象对
3回复

发送json数据到服务器jquery.ajax

不幸的是,另一个与json相关的问题... 考虑以下json 我需要将此数据发送到服务器上的php脚本,然后在服务器上与之交互,但不知道如何。 我通过jquery.ajax发送它,并且发送得很好(没有错误消息),这里是代码。 (newJson是我完全如上所述创建的json对
2回复

可以在firefox中使用但在所有其他浏览器中均无法使用的jquery.ajax代码

代码在这里http://jsfiddle.net/assuredlonewolf/vHC9A/20/ 我不知道发生了什么事! 我知道所调用的网址不是问题,我确保在新浏览器中打开代码时会得到一个新网址,因为这是一个新会话,并且Facebook的访问令牌已更改
1回复

如何解决jquery.ajax()中的[object Object]错误

我正在使用下面的jquery函数从表单发送数据并获得回复。 以下是我用来获取结果的Jquery函数: 现在,这里的文本形式发送数据: 我打电话的contact.php是这样的: 调用函数时出现此错误: jquery:-[object Object] error 。 我
1回复

jQuery.ajax在服务器上给出了“TypeError:无法读取null的属性'documentElement',但不是本地的

我在http://alpha.spherecat1.com/上的jQuery代码有问题,但本地副本工作正常。 正如您所看到的,如果您现在访问该站点,则ajax调用会出现以下错误: “TypeError:无法读取属性'documentElement'的null” 我已经检查并重新检查