JQuery .ajax() 函数调用不起作用,但成功方法运行
JQuery .ajax() function call not working, but success method runs
我在网页上遇到ajax调用时遇到问题。网络方法工作得很好。
我可能会看到的一个潜在问题是,调用 ajax 方法的代码位于嵌入在母版页的内容页中的 UserControl 中。只有在验证 .Net 身份验证后才能访问此页面。我不知道是否有这件事,我只是包括这些信息,所以这个问题没有隐藏的方面。
另一个潜在的问题可能是Ajax调用本身。我只是看不出问题是什么。最令人困惑的是,ajax调用中的成功方法运行。没有失败。更令人困惑的是,如果我将 WebMethod 的名称完全更改为其他名称,ajax 调用的成功方法仍然运行。
知道这里可能出了什么问题吗?
var sendingThis = { x: 'abc', y: 'def', z: 'ghi' }
$.ajax(
{
type: "POST",
url: "TestPage.aspx/someMethod",
data: sendingThis,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg)
{
//THIS STUFF GETS CALLED...always
},//end success
error: function ()
{
//DOESN'T GET CALLED
}
});
TestPage.aspx中的代码隐藏方法:
[System.Web.Services.WebMethod]
public static void someMethod(string x, string y, string z)
{
//CODE THAT UPDATES DATABASE; *INDEPENDENTLY CONFIRMED WORKING*
}
调用代码的按钮..:
<asp:Button ID="btnSomeMethod" runat="server" OnClientClick="return someMethod(this);" Text="Runit" />
我有一些额外的观察结果,可能会有所帮助,也可能没有帮助。我尝试将ResolveURL
与 .ajax() 调用的 URL 一起使用,但不起作用。我还尝试EnableSession:true
作为 Web 方法的属性。我尝试在页面中插入一个ScriptManager
,其中包含对包含 Ajax() 调用的.js文件的EnablePageMethods="true"
和ScriptReference
。没有任何运气。这到底是怎么回事?
另一个更新:我检查了HTTP流以查看来自POST请求的响应标头。首先,它返回 200 OK 作为 POST 状态代码。要求似乎都很好。但是,在响应标头中,我得到:
`"status":401,"headers":`
这与身份验证错误有关。
答案归结为两个正斜杠//
..在 RouteConfig.cs
中,您需要注释掉以下行:
settings.AutoRedirectMode = RedirectMode.Permanent;
就是这样,仅此而已。
相关文章:
- 使用GET方法通过AJAX成功提交表单后更改url
- 成功函数未在 ajax GET 方法中调用
- 将类方法绑定到类外绑定的事件处理程序内的AJAX成功回调
- PageMethods调用使用1参数成功,但在2上失败(未知web方法)
- jQuery$.ajax方法.成功:使用响应数据的函数
- 如何实现这种悬停效果?尝试了几种方法,但没有成功
- 这在imacrosjavascript中可能吗?尝试了很多方法都没有成功
- Delete方法不适用于Indexed DB HTML5.它返回成功,但未删除记录
- JQuery .ajax() 函数调用不起作用,但成功方法运行
- 如何让用户在 ajax 成功方法中下载文件
- 如何从java中的方法向javascript发送成功消息
- 如何在 jquery 成功方法中接收 JSON 并使用该 JSON 构建 HTML 内容
- 尽管成功传输了 json,但我的 Jquery.ajax 方法在响应中获得了错误状态
- 如何在 jquery 成功方法中接收其他参数 ()
- 如何创建一个以模型为参数的ajax成功方法
- 在 jQuery ajax 调用上模拟成功方法未按预期工作
- 在ajax成功方法后链接到一个元素
- 编辑Backbone Ajax成功方法以添加自定义错误处理
- 如何在ajax成功方法中显示引导程序成功消息()
- 解释 jQuery AJAX 成功方法