所以我在一个应该调用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;
}
答案 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(':(');
}
});
});