jquery Ajax没响应?

时间:2011-05-18 20:31:05

标签: jquery asp.net ajax web-services json

所以我在一个应该调用asp.net webservice的页面上有以下函数,它似乎正在这样做,但页面上什么都没发生。以下是下面的功能,即webservice

$("#BlogSelectList li a").click(function () {
    var str = ($(this).attr("href")).slice(1, 36)
    $.ajax({
        contentType: "application/json; charset=utf-8",
        url: '../ws/WebServices.asmx/SetActiveBlog',
        data: '{ActiveBlogID: "' + str + '"}',
        dataType: 'json',
        type: "post",
        success: function (j) {
            if (j.d == 1) {
                window.location('http://www.msn.com');
            }
            else {
                window.location('http://www.msn2.com');
            }
            alert('heyhi')
        }, error: function (j) {
            alert(':(')
        }

    });

});

这是webservice,我知道它正在执行,因为它正在运行一个存储过程,它正在使用“ssss”成功创建一个日志条目,但是当单击锚点时页面实际上什么也没做,它没有重定向页面,它没有不做任何警报,没有。

[WebMethod(Description = "Sets the ActiveBlog.")]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public bool SetActiveBlog(string ActiveBlogID)
{
    DbaseExecSpWithReturnValue Sproc = new DbaseExecSpWithReturnValue();
    Sproc.SetSp("sp_CheckUsernameAvailable");
    Sproc.AddParam(1);
    Sproc.AddParam("Username", SqlDbType.Char, "ssss", 20);
    int RetVal = Sproc.Execute();
    Sproc.Close();
    return true;
}

3 个答案:

答案 0 :(得分:3)

window.location不是您调用的函数,它是您设置的属性:

if (j.d == 1) {
    window.location = 'http://www.msn.com';
}

答案 1 :(得分:2)

我认为这是因为您拨打的是window.location()而不是设置window.location.href = 'someUrl'

答案 2 :(得分:1)

$("#BlogSelectList li a").click(function () {
    var str = $(this).attr("href").slice(1, 36);
    $.ajax({
        contentType: "application/json; charset=utf-8",
        url: '../ws/WebServices.asmx/SetActiveBlog',
        data: '{ActiveBlogID: "' + str + '"}',
        dataType: 'json',
        type: "post",
        success: function (j) {
            if (j.d == 1) {
                window.location = 'http://www.msn.com';
            }
            else {
                window.location = 'http://www.msn2.com';
            }
            alert('heyhi');
        }, error: function (j) {
            alert(':(');
        }

    });

});