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,故改操作失效。