2013-02-04 52 views
0

調用JSONP響應,但接收錯誤:jQuery18207158344800118357_1359997121430不叫。有人能讓我知道如何解決這個問題嗎?感謝你的幫助。 下面是客戶端代碼:KendoUI:錯誤jQuery的不叫

var dataSource = new kendo.data.DataSource({ 
serverPaging: true, 
        pageSize: 2, 
        type: "odata", 
        error: function(e) { 
         console.log("Error " + e); 
         alert(e.errorThrown); 
        }, 
        transport: { 
         read: { 
          url: "http://localhost:50675/movie/GetAll", // the remove service url 
          dataType: "jsonp" 
         }, 
         parameterMap: function(options) { 
          alert("Inside parameterMap") 
          alert(JSON.stringify(options, null, 4)); 
          return { 
           q: "javascript", 
           page: options.page, 
           rpp: options.pageSize, 
          }; 
         } 
        }, 
        schema: { 
         errors: function(response) { 
          return response.errors; 
         }, 
         data: function(data) { 
          if (data.movieList.length == 0) { 
           return []; 
          } 
          return data.movieList; 
         }, 
         total: function(data) { 
          alert(data.movieList.length); 
          return data.movieList.length; 
         } 
        } 
      }); 

      $("#localListView").kendoMobileListView({ 
       dataSource: dataSource, 
       pullToRefresh: true, 
       appendOnRefresh: true, 
       template: $("#categories-template").html(), 
       pullParameters: function(item) { 
        alert("Inside pullParameters") 
        alert(item.length); 
        alert(JSON.stringify(item, null, 4)); 
        return { 
         page: 1 
        }; 
       } 
      }); 

當Chrome開發者工具檢查響應成功地從服務器接收。 以下是服務器的jsonp響應:

({「movieList」:[{「ID」:1,「Title」:「Movie」,「ReleaseDate」:「/ Date(487189800000)/」流派 「:」 喜劇」, 「價格」:30},{ 「ID」:1, 「標題」: 「電影」, 「RELEASEDATE」: 「/日期(487189800000)/」, 「流派」: 「喜劇」, 「價格」:30}], 「計數」:4})

回答

0

在我看來,你的JSONP是不完整的,我想應該是這樣的:

jQuery18207158344800118357_1359997121430({"movieList":[{"ID":1,"Title":"Movie","ReleaseDate":"\/Date(487189800000)\/","Genre":"Comedy","Price":30},{"ID":1,"Title":"Movie","ReleaseDate":"\/Date(487189800000)\/","Genre":"Comedy","Price":30}],"count":4}); 

哪裏jQuery18207158344800118357_1359997121430是可變的,您將收到它作爲$callback請求參數。

+0

感謝您的回覆。 JSONP響應不完整,並能夠使用callbackname獲取JSONP。我在我的交通工具中錯過了「jsonp:d」語句。但是現在收到錯誤「Uncaught TypeError:Can not read property'__count'of undefined」。 –