当前位置: 首页 > 知识库问答 >
问题:

Ajax请求因“找到302”而失败

谭越
2023-03-14

我的Ajax调用没有执行web方法,正在返回状态代码“302找到”。检查跟踪表明,该方法实际上是作为“选项”发送的??

当web方法在aspx文件中时,这一切都在工作。当我把代码转换成UserControl时,我不得不把它移动到asmx。

Ajax调用:

$.ajax({
            type: "POST", //HTTP method
            url: '<%= ResolveUrl("http://tempuri.org/PLService.asmx/getLocations")%>', //page/method name
            data: "{}", //json to represent argument
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: processData //handle the callback to handle response
        })

PLService中的Web方法

    [WebMethod]
        public static string getLocations()
        {
            System.Diagnostics.Debug.WriteLine("Getting Locations.");
            return "{\"region\":\"auckland\", \"city\":\"auckland\"}";
        }

请求:

主持人:坦普里。org用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;rv:37.0)Gecko/20100101 Firefox/37.0接受:text/html,application/xhtml xml,application/xml;q=0.9,/;q=0.8接受语言:en-US,en;q=0.5接受编码:gzip,放气原点:http://localhost:1968访问控制请求方法:后访问控制请求头:缓存控制,pragma连接:保持活动pragma:无缓存缓存控制:无缓存

响应标题:

主机:tempuri.org用户代理: Mozilla/5.0(视窗NT 6.1;WOW64;rv: 37.0)Gecko/20100101 Firefox/37.0接受:文本/html,应用程序/xhtml xml,应用程序/xml;q=0.9,/;q=0.8接受语言: en-US,en;q=0.5接受编码: gzip,缩小来源:http://localhost:1968访问-控制-请求-方法:POST访问-控制-请求-报头:内容类型连接:保活Pragma:无缓存缓存-控制:无缓存

共有1个答案

金阳曜
2023-03-14

三件事:

>

  • 有一个有效的目标:

    命名空间 = "")]

    当一个Web方法在asmx中声明时,它不应该被声明为静态的

    您需要使用[ScriptService]属性配置Web服务,以处理来自客户端脚本的调用。

    [System.Web.Script.Services.ScriptService]

  •  类似资料:
    • 请求: 主机:Tempuri.org用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;RV:37.0)Gecko/20100101 Firefox/37.0接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8接受-语言:en-US,en;q=0.5接受-编码:gzip,deflate来源:http

    • 我正在尝试通过Laravel中的ajax推送一些数据。不幸的是,它不起作用。当我观察网络流量时,我发现: 我试图从JSGrid中获取数据,这很好。数据对象已填充。我查过了。为了进行测试,我刚刚在控制器中返回了一条短消息。但当我发送邮件请求时,它甚至没有被调用。。。 这是我的密码 Javascript: 路线: 控制器: 我期望从控制器方法中获取JSON文本作为responsemessage。但是我

    • 我们正在运行SonarQube 4.5.1,并使用Jenkins和SonarQube插件运行项目分析。从三天前开始,我们在一些作业中遇到以下错误消息。 如果我将URL复制到浏览器,我会收到以下消息: “您仅被授权执行本地(试运行)SonarQube分析,而无需将结果推送到SonarQube服务器。请与您的SonarQube管理员联系。” 背景 "期望selectOne()返回一个结果(或null)

    • 我正在尝试在不修改后端的情况下对旧网站表单进行AJAXify。最初,后端会在收到表单后用“302移动”重定向到“谢谢”页面进行响应。 现在,当我尝试使用jQuery$提交表单时。ajax调用时,表单数据被成功提交,但“302 Moved”重定向似乎被浏览器取消,jQuery不知道发生了什么。 我的问题是,不管发生什么,美元。ajax调用返回一个错误,状态为0,因此我无法区分成功提交和错误。 有没有

    • 问题内容: 我的科尔多瓦版本是 5.0.0 将应用程序部署在设备上时,对于所有ajax请求都收到404错误。在网络浏览器上,它可以正常工作,但是在设备上部署时,相同的应用程序无法正常工作。 我尝试添加关注者来解决该问题,但没有帮助。 Config.xml AndriodManiest.xml 我还在index.html文件中添加了以下内容,但也没有任何区别。 这里的任何人还有另一个解决此问题的技巧

    • 问题内容: IE中的以下AJAX调用失败。 错误函数返回 没有向服务器发出请求,因此我认为JSON没有问题。 已修复,请参阅#1351389 问题答案: 固定,我将content-type从更改为just plain 。 我讨厌IE :) 另外,为了避免IE超级缓存,请尝试以下操作: 这样,每个请求都是IE获得:D的新网址