2013-01-31 45 views
5

वापस करें मुझे पता है कि .asmx पृष्ठ पर AJAX अनुरोध भेजना संभव है। और मुझे यह भी पता है कि .asmx पृष्ठ एक वेब विधि के माध्यम से एक AJAX अनुरोध को संभालता है।AJAX अनुरोध को .aspx पृष्ठ पर भेजें और JSON

क्या .aspx पृष्ठ पर AJAX अनुरोध भेजना भी संभव है? यदि हां, तो क्या .aspx पृष्ठ वेब विधि के माध्यम से AJAX अनुरोध को भी संभालता है? ध्यान दें कि मैं .aspx पृष्ठ से एक JSON प्रतिक्रिया वापस करना चाहता हूं। क्या यह संभव है?

+0

यहां एक लिंक है जो आपकी मदद कर सकता है http://blog.devarchive.net/2007/12/calling-page-methods-from-javascript.html –

उत्तर

8

आप अपने .aspx पेज के कोड-पीछे में वेब तरीकों को परिभाषित कर सकते हैं और फिर उन्हें फोन आपके jQuery कोड में वेब विधि:

$.ajax({ 
    type: "POST", 
    url: "YourPage.aspx/doSomething", 
    data: "{'id':'1'}", 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function (data) { 
     var returnedstring = data.d; 
     var jsondata = $.parseJSON(data.d);//if you want your data in json 
    } 
}); 

Here शुरू करने के लिए एक अच्छा लिंक है।

2

यदि मैं सही तरीके से प्रश्न समझ गया, तो एएसपीएक्स HTML के समान है। इसे एचटीएमएल के रूप में प्रस्तुत किया जाएगा। लेकिन केवल अंतर है सर्वर साइड और नियंत्रण राज्य तंत्र के साथ राज्यों को बनाए रखने।

ताकि आप jquery $.ajax() फ़ंक्शन कर सकें।

$.ajax({ 
    url: UrlToGetData, 
    dataType:'json', 
    success:function(data){ 
      //do some thing with data. 
      } 
}); 

या यदि आप, जवाबी कार्रवाई के लिए json मूल्य लिख तो Response.ContentType पहला प्रयोग किसी भी जावास्क्रिप्ट serializer (JSON.NET) का उपयोग करना चाहते हैं, तो इस तरह contentType निर्धारित किया है। तो

[WebMethod] 
public static string doSomething(int id) 
{ 
    ... 
    return "hello"; 
} 

और, एक कॉल करने के लिए:

Response.ContentType="application/json"; 
1
$.ajax({ 
      url: "(aspx page name/method to be called from the aspx.cs page)", 
      type: "POST", 
      dataType: "json", 
      data: $.toJSON(jsonData), 
      contentType: "application/json; charset=utf-8", 
      success: function (data, textStatus, jqXHR) { 
       //TO DO after success 
     } 
}); 

उपरोक्त कोड का प्रयास करें