2011-11-30 1 views
1

http 처리기에서 webmethod를 호출하는 중 문제가 발생합니다. jquery.js 파일이 어떤 임의의 장소에서 열립니다 및 프롬프트 "잘못된 인수"jquery 1.5 처리기에서 webmethod에 대해 잘못된 인수를 제공하는 ajax 호출

코드는 다음과 같다 제공 :

JS :

var src = "MyHandler.axd"; 
var id = "1234566"; 
$.ajax({ 
    type: "GET", 
    contentType: "application/json; charset=utf-8", 
    url: src + "/MyMethod?key=" + id,     
    success: function (msgObj) { 
     var msg = msgObj.d;    
    }, 
    error: function (e) { 
     alert("Error"); 
    } 
}); 

C#

[System.Web.Services.WebMethod(EnableSession = true)] 
    [System.Web.Script.Services.ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] 
    public static string MyMethod(string key) 
    { 
     return someLogic; 
    } 

그리고 ProcessRequest 메소드가 ajax 호출을 위해 호출되기 때문입니다.

다음과 같이 시도해도 C# 코드에서 httpget 및 responseformat을 제거했습니다.

JS

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    url: src + "/MyMethod", 
    data: "{ 'key':'"+ id +"'}",   
    dataType: "json", 
    success: function (msgObj) { 
     debugger; 
     var msg = msgObj.d; 

    }, 
    error: function (e) { 
     debugger; 

    } 
}); 
+0

어떤 jquery 파일에서 예외가 발생하고 있습니까? 어떤 jquery 파일을 참조하고 있습니까? –

+0

Jeff, jquery-1.5.min.js 및 VS2010에 "잘못된 인수"가 표시되는 임의의 위치에서 –

답변

0

글쎄, 어떤 솔루션이나 이유는이 동작을 찾을 수 없습니다!

동일한 웹 메소드를 페이지에 그대로두면 잘 작동합니다. 따라서 프로세스 요구에서만 ajax 호출을 처리하는 논리가 추가되었습니다. 매력처럼 작동합니다.