2012-04-20 56 views
0

我確定這是一個基本的語法錯誤,但我試圖使用jQuery手機ajax(代碼如下)進行休息調用,並且據我所知,ajax不會觸發。試圖觸發jQuery Mobile ajax調用

 function triggerCall() { 
      alert("function triggered"); 
      $.ajax({ 
       type: "GET", 
       dataType: "jsonp", 
       url: REST Url, 
       success: function (data) { 
        alert(data); 
       } 
      }); 

任何幫助,將不勝感激

+0

任何錯誤或控制檯消息? – 2012-04-20 22:50:10

回答

0

,如果你實際編寫url: REST Url,那麼您必須將其更改爲一個變種,或者一個字符串..這將是一個問題

0

我相信,如果您使用JSONP,則需要在$ .ajax請求中指定回調,然後在REST文件返回中再次指定回調。下面是我一直使用的例子(儘管我不確定,但我確定)。

$.ajax({ 
    url: 'www.domain.com/string/to/your/REST/api', 
    data: { 
     dataToBeSent: variable, 
     dataToBeSent: sessionStorage.getItem('local/session Storage'), 
     dataToBeSend: "or a string" 
    }, 
    dataType: 'jsonp', 
    jsonp: 'jsoncallback', 
    timeout: 5000, 
    success: function(data){  
     alert("Huzzah!"); 
    }, 
    error: function(){ 
     alert("Boohisssss"); 
    } 
}); //end ajax call 

然後在URL,我會將此代碼在文件的底部:

header("Content-type: application/json", true); 
echo $_GET['jsoncallback'] . '(' . json_encode($data) . ');'; 
exit; 

在哪裏的數據是一個數組,它是JSON編碼,在PHP中使用json_encode(),然後用回調函數($ _GET ['jsoncallback'])包裝起來。

就像我說的那樣,它並不完美,但它一直在爲我工作。

0
  1. 檢查瀏覽器控制檯中的錯誤。例如。在鉻菜單>工具> JavaScript控制檯。
  2. 還建議將錯誤處理程序到你的Ajax調用:http://api.jquery.com/error/
  3. 確定哪種方法,JSONP或CORS,用於您寧靜的Ajax調用:So, JSONP or CORS?