当前位置: 首页 > 面试题库 >

jQuery:对asp.net Web服务的Ajax调用失败,服务器返回500错误

越英范
2023-03-14
问题内容

好的,所以我创建了一个测试项目,只是为了验证jQuery AJAX是否可以与asp.net服务一起使用,并且没有问题。我使用了在VS
Studio中创建的默认HelloWorld服务。我通过jQuery这样调用服务:

在Default.aspx中:

<script language="javascript" type="text/javascript">
    $(document).ready(function() {

        //test web service
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "TestService.asmx/HelloWorld",
            data: "{}",
            dataType: "json",
            success: function(msg) { alert(msg);},
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                debugger;
            }
        });
    });
</script>

在TestService.asmx中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace WebServiceTestWitJQuery
{
    /// <summary>
    /// Summary description for TestService
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    public class TestService : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

然后,我继续进行操作,并完全复制了项目中的所有内容,但它不起作用。我收到500个服务器错误。

我验证了以下内容:

  1. web.configs相同
  2. 页面相同
  3. 服务等级相同
  4. jQuery ajax调用相同
  5. 我可以导航到http:// localhost:3272 / TestService.asmx?op = HelloWorld,网络服务可以正常运行。

还有什么?


问题答案:

弄清楚了。如果不确定发生了什么,请使用Fiddler。它清楚地表明服务器无法创建服务类的实例,因为它在错误的名称空间中。我禁用了R#,并且没有注意到我没有更改服务的名称空间。问题解决了。



 类似资料:
  • 我已经被这个问题困扰了好几个小时,检查了几十个示例/StackOverflow答案,但我仍然得到同样的错误。这是我第一次使用AJAX,但我对Laravel有丰富的经验。 我遇到的问题是,在尝试发送AJAX请求时出现500个内部服务器错误,其目的是更新数据库中的一行。 我已经读到这个错误可能是由CSRF令牌没有被验证/传递到后端引起的,但是尽管改变了我的代码,我仍然得到同样的问题。 这是我的代码:

  • 我使用RESTAssured练习web服务。在post请求中,它返回500服务器错误,其中我使用邮差发送请求,没有错误。谁能帮我调试一下这个错误吗?请给点意见。任何帮助都是感激的?提前道谢。 错误消息的状态代码应为<200>,但为<500>。 堆栈跟踪:

  • 我的浏览器控制台上有一个错误:“放置http://localhost:8000/post/2 500(内部服务器错误)” 我使用资源控制器和我的路由-路由e::资源('post','PostController'); 此处为更新帖子的资源控制器代码: 这里我的视图代码: Ajax代码: 顺便说一下,我在文件头上使用了元令牌{{csrf_token()}}。但是我在本地主机上发现了500个内部服务器

  • 问题内容: 我正在尝试为这个工作中的项目学习AJAX。我有一个网站加载病人正在服用的药物。 我递归调用此AJAX函数,以便它将附加一个包含单种药物和7天历史记录的新表。我在使代码在FF和IE中执行时遇到问题。在chrome中效果很好。我有显示xmlhttp.status的警报,这是我得到的: xmlhttp.status == 500(内部服务器错误)。 我注释掉了所有递归,因此将其范围缩小到了这

  • 我有一个Micronaut服务,它是使用jQuery中实现的AJAX调用从客户端调用的。Micronaut服务如下所示: 调用micronaut服务的Javascript如下: 不幸的是,尽管我告诉服务器和客户机处理纯文本,但AJAX调用失败,出现以下消息: 我是在Micronaut的控制器处理程序中发现了一个bug,还是在客户机或服务器代码中丢失了什么?有什么方法让这个AJAX调用工作吗? 更新

  • 问题内容: 我正在尝试执行此AJAX帖子,但是由于某些原因,我遇到了服务器500错误。我可以看到它在控制器中达到了断点。因此问题似乎出在回调上。任何人? 这是应该返回的字符串: 问题答案: 我怀疑服务器方法在通过断点后会引发异常。使用Firefox / Firebug或IE8开发人员工具查看您从服务器获得的实际响应。如果有异常,您将获得YSOD html,这应有助于您确定要查找的位置。 还有一件事