使用GET使用/ jQuery调用页面方法

时间:2009-10-08 19:02:20

标签: jquery

如果我使用POST,我可以调用我的ASP.Net页面方法,但如果我尝试GET则失败。 有什么想法吗?

var url = encodeURI(acx.opts.queryURL + "?t=" + acx.input.val());

    acx.requestExe = $.ajax({ type: "GET",
        url: url ,
        //data: "{\"t\":\"" + acx.input.val() + "\"}",     //Data To Send If POST
        contentType: "application/json",                 //Of Request
        dataType: "json",                                //Return Type Expected
        cache: true,
        success: function(d) { showQueryResults(acx,d); },
        error: function(d) 
        { 
            var r = JSON.parse(d.responseText); 
            alert(r.Message);
        }
    }); 

3 个答案:

答案 0 :(得分:0)

检查您的web.config system.web -> httpHandler并确保您的处理程序允许使用GET动词。

答案 1 :(得分:0)

尝试指定option.data

acx.requestExe = $.ajax({ 
    type:        "GET",
    url:         encodeURI(acx.opts.queryURL),
    data:        "{\"t\":\"" + acx.input.val() + "\"}", 
    contentType: "application/json",                   
    dataType:    "json",                               
    cache:       true,
    success:     function(d) { showQueryResults(acx,d); },
    error:       function(d)   { 
        var r = JSON.parse(d.responseText); 
        alert(r.Message);
    }
});

而不是在查询字符串中手动构建它:

var url = encodeURI(acx.opts.queryURL + "?t=" + acx.input.val());

答案 2 :(得分:0)

尝试将data作为对象传递:

acx.requestExe = $.ajax({
    type: "GET",
    url: acx.opts.queryURL,
    data: {
        t: acx.input.val()
    },
    contentType: "application/json",
    dataType: "json",
    cache: true,
    success: function(d) {
        showQueryResults(acx,d);
    },
    error: function(d) {
        var r = JSON.parse(d.responseText);
        alert(r.Message);
    }
});