2013-04-24 3 views
1

Я делаю запрос AJAX в приложении Phonegap. Код:

function remoteCall() 
{ 
    alert("Remote call func called"); 

    try 
    { 
    $.ajax({ 
     url: 'http://192.168.1.200/testing/testConn.php', 
     contentType: "application/json; charset=utf-8", 
     dataType:"json", 
     success: function(data) 
     { 
      if(data == '') 
       alert("No data received from server"); 
      else 
      alert("Data received from server = "+data.postcode); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) 
     { 
      console.log(textStatus); 
      alert('FAIL !!!'); 
     }, 

    }); 
    }//end of try(). 
    catch(e) 
    { 
     alert("error = "+e.message); 
    } 

}//END OF FUNC remoteCall. 

Я также добавил следующую строку в <head>, чтобы избежать JQuery конфликта.

<script>jQuery.noConflict();</script> 

Моя сторона файловый сервер:

<?php 

header("Access-Control-Allow-Origin: *"); 
header("Access-Control-Allow-Headers: X-Requested-With"); 

$retArray = array(); 
$retArray['postcode']= 'm14'; 
$retArray['brand']= '1'; 
$retArray['product_type']= '1'; 

$jsondata = json_encode($retArray); 

return $jsondata; 
?> 

Я получаю первое сообщение оповещения, но позже я получаю сообщение об ошибке, «$ не определен». Я не знаю, как это исправить; может ли кто-нибудь помочь?

Я смог преодолеть эту ошибку «$ не определено», теперь я не получаю никаких ошибок, а также я не получаю никакого вывода ...

+0

http://api.jquery.com/jQuery.noConflict/ Настройка, что означает, что вы не можете использовать $, но должны использовать JQuery в этом месте – TommyBs

ответ

1

<script>jQuery.noConflict();</script> означает, что вы должны ссылаться на объект JQuery as jQuery, а не $. Измените свои ссылки с $ на jQuery, и он должен работать.

http://api.jquery.com/jQuery.noConflict/

+0

Спасибо за быстрый ответ, я изменил $ на jQuery, теперь я получаю «jQuery не определен». Я попытался после удаления, что и замените jQuery на $ still, я получаю ошибку «$ undefined». любая идея ..... – user2186239

+0

Возможно, вы не импортировали библиотеку jQuery. У вас должно быть что-то вроде '' где-то в вашем html. – cfs

+0

@ user2186239 Обратите внимание, что вам нужно будет импортировать библиотеку jQuery перед вашим javascript – cfs

2

Убедитесь, что вы добавляете Jquery файлы перед добавлением файла, содержащего JS код.

+0

Спасибо за ответ, я добавил в , мне нужны какие-либо другие файлы jquery? – user2186239

+0

ok, поэтому вы добавили ссылку на js-файл после ссылки, указанной в комментарии. правильно? –

+0

нет, раньше у меня был код. – user2186239

0

я решил мою проблему ... :)

Эти линии решить мою проблему $ и Jquery

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.js"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

(Благодаря Али и CFS :))

И в файле сервера я изменение вернуться к эху

<?php 

header("Access-Control-Allow-Origin: *"); 
header("Access-Control-Allow-Headers: X-Requested-With"); 

$retArray = array(); 
$retArray["postcode"]= "m14"; 
$retArray["brand"]= "1"; 
$retArray["product_type"]= "1"; 

$jsondata = json_encode($retArray); 
echo $jsondata; 

?> 

Теперь я могу получить информацию о сервере.

Спасибо всем за ответы .... :)

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