我已经将Charisma V.2.0.0软件包集成到ASP.Net C#应用程序中。在我向Web服务编写.ajax调用之前,一切看起来都不错。 Ajax调用是一种标准格式,可在基本的asp.net页面中使用,但来自捆绑包。似乎在他的“ bower_components”中。我删除了对bower_components / jquery的引用,其中包括ajax.googleapis.com ... 3.3.1。
有人有这个问题的经验吗?以及什么是解决方案?我喜欢穆罕默德(Muhammad)设计的UI,并希望继续开发平台。
axax调用看起来像这样:
// Edit Client button
$(document).on("click", "[id*=btnEditClient]", function () {
// Edit selected client/Event Id - get data from Ajax
//alert($(this).val());
var clientId = $(this).val();
var clientInfo = JSON.stringify({ clientId: clientId });
alert(clientInfo);
$.ajax(
{
url: '<%= ResolveUrl("QRWebService.aspx/GetClientListService") %>',
type: "POST",
data: clientInfo,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
// results
alert(result.d);
alert('no error ' + JSON.stringify(result));
$("#myModal").modal()
return true;
},
error: function (jqXHR, textStatus, errorThrown) {
alert('error: ' + textStatus);
}
});
return false;
})
结果是“未定义”,永远不会调用Web服务。
网络服务是:
[WebMethod]
public static DataSet GetClientListService()
{
// returns dataset LIST of Client Id and Name
DataSet ds = new DataSet();
SQLHelper.SqlQuery oQuery = new SQLHelper.SqlQuery();
String strSQL;
try
{
strSQL = "SELECT Clients.ClientId, ClientName FROM Clients ";
strSQL += "WHERE ClientActive=@clientActive";
ds = oQuery.GetDataSet(strSQL);
} catch(Exception ex){
errorMessage = ex.Message;
}
return ds;
} // end GetClientEventList()
答案 0 :(得分:1)
发布ASP.NET Calling WebMethod with jQuery AJAX "401 (Unauthorized)"。将App_Start从“永久”更改为:
settings.AutoRedirectMode = RedirectMode.Off;
成功了。我希望这对其他人有帮助。谢谢StackOverflow以及所有发布棘手问题解决方案的人。