2012-01-23 23 views
5

में वेबमैड के साथ सेवा AJAX अनुरोध मेरे .aspx पृष्ठ में एक विधि के साथ AJAX अनुरोधों की सेवा करने का प्रयास कर रहा हूं। किसी कारण से मुझे डेटा वापस नहीं मिल रहा है जो मैं चाहता हूं। क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं?एएसपीएक्स पेज

MyPage.aspx:

<%@ Page Language="VB" Title="My Page" %> 
<%@ Import Namespace="System.Web.Services" %> 
<%@ Import Namespace="System.Collections.Generic" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<script runat="server"> 

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) 

    End Sub 

    <WebMethod()> Public Function testmethod() As Integer 
     Return 5 
    End Function 

</script> 

<html> 
<!--...rest of page including mybutton and myresults--> 

JQuery:

$("#mybutton").click(function() { 
    $.ajax({ 
     type: "POST", 
     url: "mypage.aspx/testmethod", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
     alert("success"); 
     $("#myresults").html(msg.d); 
     }, 
     error: function(msg) { 
     alert("error:" + JSON.stringify(msg)); 
     } 
    }); 
}); 

जब मैं क्लिक mybutton मैं एक चेतावनी "त्रुटि:" हो जाते हैं और HTML के तो बहुत है कि कहते हैं:

Unknown web method testmethod. 
Parameter name: methodName 

उत्तर

12

विधि Shared की जरूरत है।

+0

धन्यवाद, इसने समस्या हल की। – Flash

+2

जोड़ने के लिए - सी # में - इसे 'स्थैतिक' होना चाहिए – Lijo

0

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

मुझे यकीन नहीं है कि क्या आप कोडबेंड से त्रुटि संदेश देखने की उम्मीद कर रहे हैं। याद रखें - अजाक्स खंड में सफलता या त्रुटि कार्यों को बुलाया जा रहा है इस पर निर्भर करता है कि क्या webservice विधि को सफलतापूर्वक कहा गया था या नहीं। मुझे लगता है कि आप सोच रहे हैं कि आप यहां teh webmethod से त्रुटि संदेश देखेंगे, लेकिन हकीकत में, यदि वेबमाइंड त्रुटि फेंक रहा है तो आपके पास अभी भी एक सफल AJAX कॉल होगा और इस प्रकार "सफलता" फ़ंक्शन एक चल रहा होगा। "त्रुटि" फ़ंक्शन केवल तभी चलाया जाएगा जब संपूर्ण वेबमाइंड कॉल विफल हो जाए, इसलिए सर्वर से कोई प्रतिक्रिया नहीं है।

आशा है कि यह समझ में आता है। इसके अलावा

<WebMethod()> Public Shared Function testmethod() As Integer 
    Return 5 
End Function 

, मुझे यकीन है कि पेज के तरीकों का समर्थन कर रहे आप एक कोड-पीछे का उपयोग नहीं करते जब फाइल नहीं कर रहा हूँ:

+0

धन्यवाद मैंने पोस्ट करने के बाद इसे महसूस किया, मैंने प्रश्न के निचले हिस्से में त्रुटि संदेश शामिल किया है। – Flash

संबंधित मुद्दे