2010-06-01 2 views
0

Я работаю над cakephp. Я разработал приложение, в котором я использовал Localhost во всех Ajax пост и получить ..Ajax get бросает синтаксическую ошибку, когда ip задан вместо localhost

как

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


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

эта вещь работает только тогда, когда я поставил локальный. Но когда я изменить это на мой Ip как http://111.11.11.11/FormBuilder/index.php/forms/getInvitees/», тогда я получаю ошибку синтаксиса() в строке
вар MyObject = Eval ('(' + ХТ + ')');

Почему это происходит ?? Пожалуйста, дайте ценные предложения в решении этого ..

ответ на ХТ будет { «приглашенным»: [{ «приглашенным»: «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

Что такое значение «ХТ» в данном случае? – ob1

+0

Ответ на ht будет {"invitees": [{"invitee": "23"}]} – useranon

+0

, из которого я создам ссылку, такую ​​как var data = myObject; \t \t $ .map (data.invitees, функция (я) { вар ID = i.invitee; $ ("/"+id+"/Invitee>/"+id+"/Invitee ") .appendTo (" #" + вкл); вкл ++; возвращение i.invitee; }); – useranon

ответ

0

Вы знаете, что localhost переводит на 127.0.0.1 практически в любом случае. Не забыли ли вы настроить веб-сервер для правильной привязки к 111.11.11.11 и обслуживать тот же DocumentRoot?

Похоже, что вы не возвращаете объект JSON при вызове сервера через IP.

EDIT

Я не знаю, действительно ли вы используете VirtualHosts для настройки среды разработки, но так как вы делаете использование локального хоста я пойду со стандартным httpd.conf Apache.

В файле httpd.conf поиск по строке, начинающейся с Listen .... Убедитесь, что единственная строка с директивой Listen выглядит как Listen *:80, чтобы позволить Apache привязываться к любому из IP-адресов, доступных на вашем компьютере.

Затем вставьте следующий ближе к концу файла:

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

Теперь вы успешно реализовали VirtualHost, который служит localhost и любой другой IP-аппарат назначенную из той же DocumentRoot (каталог вашей HTML/PHP/любые файлы находятся в).

Удачи.

+0

Просьба поделиться мной о том, как упоминать в корневом каталоге документа для этого IP – useranon

+0

Какого рода веб-сервер вы используете? – aefxx

+0

Я использую apache – useranon

0

Несомненно, использование localhost является более общим в этом случае?

В моих CakePHP приложений, я использую:

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

или

'/cakeapp/nodes/updateTreeNodes' 

для AJAX-вызовов. Помните, что у вас возникнут проблемы, если вы попытаетесь получить доступ к другому домену напрямую. Возможно, это то, что происходит с вашим IP-вызовом?

0

Localhost будет работать только с локального компьютера, но вы не возражаете, ваше приложение будет в конечном итоге получить доступ из вне стороны, где локальный бы машина клиенты ..

Вам необходимо указать IP-адрес общественности или имя домена или имя сети, если вы используете внутренний DNS для приложения интрасети.


Смежные вопросы