MS AJAX类库的回调函数中不能使用window.open();
举例:
有一个WebService 文件名为QueryService.asmx
代码如下:
[WebService(Namespace
=
"
http://tempuri.org/
"
)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem( false )]
[ScriptService]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class QueryService : System.Web.Services.WebService
... {
[WebMethod]
public string doQuery(string sqlstring)
...{
return "";
}
}
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem( false )]
[ScriptService]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class QueryService : System.Web.Services.WebService
... {
[WebMethod]
public string doQuery(string sqlstring)
...{
return "";
}
}
在js中调用改函数
QueryService.doQuery(“123”,onQuerySucceeded);
那么回调函数就是onQuerySucceeded
function
onQuerySucceeded(result)
... {
window.open('http://baidu.com');
}
... {
window.open('http://baidu.com');
}
此时window.open无效,并不会弹出网页,根据不可靠消息,回调函数中也定义了一个window.open,故改操作失效。