服务器端方法调用jquery错误

时间:2011-08-31 18:02:40

标签: jquery asp.net

这样我调用我的服务器端代码....我的代码如下。

$(function () {
    $('#btnSubmit').click(function () {

        $.ajax({
            type: "GET",
            url: "MyPage.aspx?id=201/GetData",
            data: {},
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
            }
            ,
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            }
        });
        return false;
    });
});

我怀疑我收到错误,因为url是错误的网址:“MyPage.aspx?id = 201 / GetData”

我认为应该是网址:“MyPage.aspx?id = 201”

2)我有另一个问题,即可以为jquery ajax调用的dataType属性设置不同类型的值。

dataType可以是html还是文本?当dataType是html那么什么是正确的contentType?

时的方式相同

dataType将是文本,那么什么是正确的contentType?

3)当dataType为text或html时,我可以调用自定义服务器端函数,如url:“MyPage.aspx / GetData”,

4)当dataType为text或html时,如何从服务器端函数返回数据。然后我可以编写像

这样的代码

当数据类型是文本时,我需要像下面一样返回

[System.Web.Services.WebMethod]
public static string GetData()
{
    return "Hello";
}

[System.Web.Services.WebMethod]
public static string GetData()
{
    response.write("Hello");
}

当数据类型为html时,我需要返回如下所示

[System.Web.Services.WebMethod]
public static string GetData()
{
    return "<div>Hello</div>";
}

[System.Web.Services.WebMethod]
public static string GetData()
{
  response.write("<div>Hello</div>");
}

我需要设置response.content类型。

请详细指导.......谢谢

1 个答案:

答案 0 :(得分:3)

答案

  

我怀疑我收到错误,因为url是错误的网址:“MyPage.aspx?id = 201 / GetData”

你的ajax电话应该​​是这样的

type: "POST",
url: "MyPage.aspx/GetData",
data: "{}",

您在MyPage.aspx上调用GetData。你为什么要担心它有querystrings和hashtags?所以,请不要通过查询字符串。

  

可以为dataType属性设置不同类型的值

你读过这个吗? http://api.jquery.com/jQuery.ajax/检查数据类型部分。

  

问题3和4

你为什么不试着为自己找到它?不会超过10分钟。

P.S:不要担心掉票。问题是这个问题在论坛上是有效的,但不是在这里。那是因为,这不是一个论坛,这是一个QA网站 阅读:https://stackoverflow.com/faq#dontask