2012-03-28 63 views
0

我有whih在只有一個方法webservice的它javascriptserilizer不序列化正確

[WebMethod] 
     public string GetMovies() 
     { 
      using (var dataContext = new MovieCollectionDataContext()) 
      { 
       var query = dataContext.Movies.Select(m =>new{m.Title,m.ReleaseDate}).Take(20); 
       var serializer = new JavaScriptSerializer(); 
       return serializer.Serialize(query); 
      } 
     } 

它serilize對象,但是當我在Firebug得到的結果是使用這個樣子

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://tempuri.org/">[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]</string> 

IAM劍道和我的jquery方法是

var dataSource = new kendo.data.DataSource(
       { 
        transport: { 
         read: { 
          type: "POST", 
          dataType: "json", 
          url: "/MovieService.asmx/GetMovies" 
          //contentType: "application/json; charset=utf-8", 

         } 
        }, 
        change: function (e) { 
         alert(e); 

        }, 
        error: function (e) { 
         alert(e[2]); 
        }, 
        pageSize: 10, 
        schema: { 
         data: "d" 

        } 

在上面的jquery中有一個錯誤,即使它調用ig加時賽此錯誤

SyntaxError: JSON.parse: unexpected character 

請幫我得到適當的JSON PLZ我真的neeed適當的JSON做我的工作

回答

0

究竟是什麼你試圖解析什麼?整個響應不會被解析,因爲它是XML,而不是json。如果你試圖解析字符串元素的值,那麼你可能需要用引號將它包裝起來。

更新:

JSON.parse('[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]')

+0

可以請你給我看看例子 – 2012-03-28 18:26:19

+0

看到我的編輯問題,實際上我試圖做的事情可能是你明白我想傳達的東西 – 2012-03-28 18:39:26

+0

你。你回來的數據類型不是json。這就是xml。你需要配置你的服務來返回json。 – 2012-03-28 18:50:04