AjaxGet在提供ip而不是localhost时抛出语法错误

AjaxGet在提供ip而不是localhost时抛出语法错误,ajax,cakephp,Ajax,Cakephp,我正在研究cakephp。 我开发了一个应用程序,我在所有ajax post和get中都使用了localhost 像 这件事只有在我放置localhost时才起作用。但当我把它改成我的Ip时 , 然后我得到一个语法错误的行 var myObject=eval+ht+ 为什么会发生??请给出解决这个问题的宝贵建议 ht的响应将是 {被邀请者:[{被邀请者:23}]} 我将根据它生成一个链接 var data = myObject;

我正在研究cakephp。 我开发了一个应用程序,我在所有ajax post和get中都使用了localhost

这件事只有在我放置localhost时才起作用。但当我把它改成我的Ip时 , 然后我得到一个语法错误的行 var myObject=eval+ht+

为什么会发生??请给出解决这个问题的宝贵建议

ht的响应将是 {被邀请者:[{被邀请者:23}]}
我将根据它生成一个链接

                     var data = myObject;
                 $.map(data.invitees, function(i){ 
                                 var id=i.invitee;

                        $("<a href=<?php echo $link?>/"+id+"/Invitee> <?php echo $link?>/"+id+"/Invitee</a>").appendTo("#"+inc);
                        inc++;                                 

                return i.invitee;});  
谢谢

您知道,几乎在任何情况下,localhost都会转换为127.0.0.1。您是否确保将Web服务器设置为正确绑定到111.11.11.11并提供相同的DocumentRoot

看起来您在通过IP调用服务器时没有返回JSON对象

编辑

我不知道您是否正在使用VirtualHosts来设置开发环境,但由于您使用的是localhost,因此我将使用Apache的标准httpd.conf

在httpd.conf文件中,搜索以Listen…开头的行。。。。确保带有Listen指令的唯一一行看起来像Listen*:80,以允许Apache将自己绑定到计算机上可用的任何IP

然后,在文件末尾附近插入以下内容:

<VirtualHost *>
    ServerName myfoo.com
    ServerAdmin admin@myfoo.com
    DocumentRoot "C:/..path to your working directory/"        
</VirtualHost>
现在,您已经成功地实现了一个VirtualHost,它为本地主机和您的机器从HTML/PHP/任何文件所在的同一文档根目录分配到的任何其他IP提供服务


祝你好运。

在这种情况下,使用localhost肯定更通用吗

在我的CakePHP应用程序中,我使用:

'http://localhost/cakeapp/nodeDescriptors/ajaxSetStatus'

用于AJAX调用。
请记住,如果您试图直接访问其他域,您将遇到问题。也许这就是你基于IP的呼叫所发生的情况?

Localhost将只在你的本地计算机上工作,但请注意,你的应用程序最终将从外部访问,其中Localhost将是客户端计算机。。 如果对intranet应用程序使用内部DNS,则需要指定公共IP地址或域名或网络名称


在这种情况下,ht的值是多少?ht的响应将是{invitees:[{{invitee:23}]},我将从中生成一个类似var data=myObject的链接;$.mapdata.invitees,functioni{var id=i.invitee;$.appendTo+inc;inc++;return i.invitee;};但是,当您使用IP url时,ht的实际值是多少?添加一个alertht或其他东西,并告诉我们您得到了什么。请与我分享如何在文档根目录中提到此IP的您使用的是什么类型的web服务器?我的httpd.conf文件将放在哪里。。我在etc/apache2的apache2中编辑了该文件,但它没有反映任何内容。您重新启动了服务器吗?更改仅在重新启动服务器后生效。看起来您正在运行Debian/Ubuntu,因此您可能想看看。
'http://localhost/cakeapp/nodeDescriptors/ajaxSetStatus'
'/cakeapp/nodes/updateTreeNodes'