2012-06-14 29 views
12

मैं firefox और google chrome में निम्नलिखित समस्या का सामना:Sys.ParameterCountException: पैरामीटर गिनती बेमेल

Sys.ParameterCountException: Parameter count mismatch. 

मैं निम्नलिखित जावास्क्रिप्ट विधि onclick फोन:

<script type="text/javascript"> 
     var confirmSubmited = false; 
     function SubmitWithLog(par_name, par_address, frm) { 

      jQuery.ajax({ 
       url: "/LogAction.ashx?par_name=" + par_name + "&par_address=" + par_address, 
       type: "GET", 
       timeout: 3000, 
       async: true, // you can try and async:false - maybe is better for you 
       data: action = 4, // here you send the log informations 
       cache: false, 
       success: function(html) { 
        jQuery(frm).submit(); 
       }, 
       error: function(responseText, textStatus, XMLHttpRequest) { 
        jQuery(frm).submit(); 
       } 
      }); 

      return false; 
     } 
    </script> 

फ़ायरबग से लिंक होगा इस तरह प्रस्तुत करें:

<a href="#" onclick="SubmitWithLog('%d8%b7%d9%84%d8%a8+%d8%a5%d9%84%d8%aa%d9%85%d8%a7%d8%b3+‌​%d9%84%d9%84%d9%85%d9%88%d8%a7%d8%b1%d8%af+%d8%a7%d9%84%d8%a8%d8%b4%d8%b1%d9%8a%d‌​8%a9','...../RequestList.aspx','#ctl43');return false;">GO </a> 

नीचे दिए गए लिंक के अनुसार:

Error: Sys.ParameterCountException: Parameter count mismatch.

मैं ScriptMode = "release"

सेट, लेकिन मैं एक और त्रुटि

this._toFormattedString is not a function 

यह समस्या IE में मौजूद नहीं है मिल ।


संपादित करें:

public class LogAction : IHttpHandler, System.Web.SessionState.IRequiresSessionState 
    { 


     public void ProcessRequest(HttpContext con) 
     { 
      // log here what you wish 
      string[] statistics = TrackUser(); 
      string a = HttpUtility.UrlDecode(con.Request.Params["Par_name"].ToString()); 
      string b = con.Request.Params["Par_address"].ToString(); 

      TraceActivity(a, b, statistics[0], statistics[1], statistics[2]); 
      // end up with no content 
      con.Response.TrySkipIisCustomErrors = true; 
      con.Response.Status = "204 No Content"; 
      con.Response.StatusCode = 204; 
     } 

    //------------------------------------------- 
    } 
+0

मुझे यकीन है कि इस कोड को त्रुटि के साथ क्या करना है कि नहीं कर रहा हूँ, यह मेरे असली यूआरएल देने के लिए संभव है पूरे पृष्ठ को देखने के लिए वेब पर? – Aristos

+0

वेब के विकास के चरण में अभी भी साइट :( –

+0

के बाद मैं सेट 'scriptmode = release' –

उत्तर

6

संभवतः लायक: उद्धरण

data: action = 4 

में आइटम बन जाता है

data: "action = 4" 
+0

यह है महान ... वास्तव में यू बहुत बहुत धन्यवाद ... –

+1

मैं बहुत बहुत आभारी हूँ और तुम बहुत स्वागत है - thankyou! – bUKaneer

6

Thats क्या होता है जब आप मानकों की गलत संख्या के साथ एक ajax एपीआई के एक सार्वजनिक विधि कॉल। उदाहरण के लिए, Boolean.parse("true", "what?") आज़माएं। यह केवल 1 पैरामीटर लेता है, आप 2 में पारित होते हैं या आपके शून्य मूल्य भेजते हैं।

भी आपके सबमिट लिंक ...../RequestList.aspx उचित पता नहीं लग रहा है। इसलिए सुनिश्चित करें कि आप शून्य या गलत पैरामीटर पास नहीं कर रहे हैं। अपने डेटा को लपेटकर

+1

@just_name किसी भी टिप्पणी यह ​​एकमात्र कारण अपने इस त्रुटि हो रही किया जाना चाहिए। इस सवाल का जवाब एक समाधान करने के लिए नेतृत्व नहीं किया, तो आपके ashx समारोह दिखाने कृपया ... –

+0

मेरा लिंक प्रस्तुत है उचित पता, बस मैं इसे यहां लिखता हूं ..... ..... 0। –

+0

'अजाक्स एपी' के सार्वजनिक तरीकों से आपका क्या मतलब था, मुझे नहीं लगता कि मैं इस तरह की कुछ चीज़ों का उपयोग करता हूं। मैं अपने कार्य में ashx समारोह –