2012-03-21 126 views
-2

我正在從jQuery數據從PHP頁面jquery插件工作。現在我正試圖在一個asp.net web服務中做同樣的事情。但我很難理解的PHP代碼。另外,由於限制,我無法在iis中託管php頁面。請幫我修改asp.net webservice的代碼。asp.net相當於簡單的PHP代碼

<?php 

    $year = date('Y'); 
    $month = date('m'); 

    echo json_encode(array(

     array(
      'id' => 111, 
      'title' => "Event1", 
      'start' => "$year-$month-10", 
      'url' => "http://yahoo.com/" 
     ), 

     array(
      'id' => 222, 
      'title' => "Event2", 
      'start' => "$year-$month-20", 
      'end' => "$year-$month-22", 
      'url' => "http://yahoo.com/" 
     ) 

    )); 

?> 

閱讀jQuery代碼...

$(document).ready(function() { 
     $('#calendar').fullCalendar({ 

      eventSources: [ 

      // your event source 
     { 
     url: '/myfeed.php', 
     type: 'POST', 
     data: { 
      custom_param1: 'something', 
      custom_param2: 'somethingelse' 
     }, 
     error: function() { 
      alert('there was an error while fetching events!'); 
     }, 
     color: 'yellow', // a non-ajax option 
     textColor: 'black' // a non-ajax option 
    } 
    ] 
     }); 
    }); 
+0

你不需要在PHP中編碼。只需在asp.net中編寫自己的代碼,即可根據需要輸出json輸出。 – safarov 2012-03-21 07:44:26

+0

其實我需要的是那段代碼所期待的。我的意思是數組將如何看待。 – thinkmmk 2012-03-21 07:45:46

+1

您可以使用'System.Web.Script.Serialization.JavaScriptSerializer'進行JSON序列化 – 2012-03-21 07:56:26

回答

2

有一個讀http://encosia.com/using-jquery-to-consume-aspnet-json-web-services/http://encosia.com/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

正確的webservices應輸出JSON對象。

如果你想那麼JSON串行器看看:http://json.codeplex.com/

使用@薩法羅夫的代碼,你應該能夠調用串行化處理方法將其返回的JSON字符串:

Newtonsoft.Json.JsonConvert.SerializeObject(someObject) 
+0

只需添加,從我讀過的所有第三方JSON序列化程序更快執行然後'System.Web.Script.Serialization.JavaScriptSerializer',因此我建議投資其他選項內置的。 – RemarkLima 2012-03-21 08:18:41

+0

除非您處理大量的請求,否則序列化程序之間的差異可以忽略不計。通過使用更快的一次往返,您可以減少幾分之一毫秒的時間,但當您的大部分性能開銷通常用於保存和/或讀取數據時,這是過早優化。 – 2012-04-02 19:58:29

2

這是JSON代碼,將輸出

[ 
{ 
    "id": 111, 
    "title": "Event1", 
    "start": "<current year>-<current month>-10", 
    "url": "http:\/\/yahoo.com\/" 
}, 
{ 
    "id": 222, 
    "title": "Event2", 
    "start": "<current year>-<current month>-20", 
    "end": "<current year>-<current month>-22", 
    "url": "http:\/\/yahoo.com\/" 
} 
] 

由於這個寫ASP代碼

+0

謝謝,我明白了.... System.Web.Script.Serialization.JavaScriptSerializer是關鍵。 – thinkmmk 2012-03-21 08:05:44