2010-06-01 111 views
0

我正在cakephp上工作。 我已经开发了在那里我已经在所有的Ajax后使用本地主机并获得当我把本地主机这件事只能应用..当ip给出而不是本地主机时,Ajax会抛出语法错误

    var ht = $.ajax({ 
          type: "GET", 
          url: "http://localhost/FormBuilder/index.php/forms/getInvitees/<?php echo $emailid;?>", 
          async: false 
        }).responseText; 


        var myObject = eval('(' + ht + ')'); 

。但是,当我改变我的叶像 http://111.11.11.11/FormBuilder/index.php/forms/getInvitees/”, 那么我在该行得到一个语法错误()
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;}); 

谢谢

+0

这种情况下“ht”的值是多少? – ob1 2010-06-01 06:23:23

+0

ht的响应将是{“invitees”:[{“invitee”:“23”}]} – useranon 2010-06-01 06:25:31

+0

从中我将生成链接,如 var data = myObject; \t \t $ .MAP(data.invitees,功能(I){ VAR ID = i.invitee; $( “/"+id+"/Invitee>/"+id+"/Invitee ”).appendTo(“ #” + INC); INC++; 返回i.invitee; }); – useranon 2010-06-01 06:26:33

回答

0

你知道在几乎任何情况下,localhost转换为127.0.0.1。您是否确定要将您的网络服务器正确绑定到111.11.11.11并提供相同的DocumentRoot?

看起来像当你通过IP调用服务器时没有收到JSON对象。

编辑

我不知道你是否正在使用VirtualHosts设置你的开发环境,但因为你是利用本地主机的我将与Apache的标准的httpd.conf去。

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

然后,将靠近文件的末尾以下内容:

<VirtualHost *> 
    ServerName myfoo.com 
    ServerAdmin [email protected] 
    DocumentRoot "C:/..path to your working directory/"   
</VirtualHost> 

现在你已经成功实施,供应localhost和任何其他IP你的机器是从同一的DocumentRoot(目录分配给虚拟主机您HTML/PHP /任何文件驻留)。

祝你好运。

+0

请与我分享如何在此IP的文档根中提及 – useranon 2010-06-01 07:08:09

+0

您使用的是什么类型的Web服务器? – aefxx 2010-06-01 07:20:31

+0

我正在使用Apache – useranon 2010-06-01 07:28:33

0

当然在这种情况下使用本地主机更通用?

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

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

'/cakeapp/nodes/updateTreeNodes' 

的AJAX调用。 请记住,如果您尝试直接访问其他域,则会遇到问题。您的基于IP的呼叫可能就是这种情况?

0

本地主机只能在本机上工作,但你要知道,你的应用程序将最终从出方,其中localhost是客户机访问..

你需要指定的公网IP地址或域名或网络名称,如果您使用Intranet应用程序的内部DNS。


相关问题