asp.net - 使用jquery ajax asp.net 4.0调用asmx服务

标签 asp.net jquery asmx

我正在尝试使用 jquery 调用示例 asmx 服务,这是 jquery 代码

$.ajax({
            type: "POST",
            url: "/Services/Tasks.asmx/HelloWorld",
            data: "{}",
            dataType: "json",
            contentType: "application/xml; charset=utf-8",
            success: function (data) {                   
                alert(data);                    
            }
        });

这没有显示任何消息,代码位于 asp.net 4.0 中, 我错过了什么吗?

编辑 - 我将数据类型更改为 xml,现在成功函数正在工作,它返回以下 xml

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Hello World</string>

我正在使用以下代码来解析 xml 数据,它在警报中显示 null

success: function (data) {
    edata = $(data).find("string").html();
    alert(data);
}

最佳答案

我相信这是因为您有 dataType: "json"并且它期望响应内容类型相同,但正在返回 XML。我打赌整个事件正在发起,但没有成功。

尝试

$.ajax({
            type: "POST",
            url: "/Services/Tasks.asmx/HelloWorld",
            data: "{}",
            dataType: "json",
            contentType: "application/xml; charset=utf-8",
            success: function (data) {                   
                alert(data);                    
            },
            complete: function (data) {                   
                alert(data);                    
            }
        });

更新

我认为这是因为你正在使用.html(),你需要使用text()。另外,我不知道您是否打算这样做,但您的警报中有data,我假设您打算使用edata。以下内容对我有用:

jQuery.ajax({
    type: "POST",
    url: "/yourURL",
    dataType: "xml",
    data: "{}",
    contentType: "application/xml; charset=utf-8",
    success: function(data) {
        edata = $(data).find("string").text();
        alert(edata);
    }
})

关于asp.net - 使用jquery ajax asp.net 4.0调用asmx服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4808641/

相关文章:

c# - 无法在我的网络服务中使用公共(public)类(class)

json - 如何将 jqGrid 与 asmx webservice C# 绑定(bind)

c# - 如何在ASP MVC中实现 "user interactive"依赖注入(inject)

asp.net - asp :button and html's button的区别

asp.net - 基本页或基本母版页或嵌套母版页?

javascript - 编辑 JQuery 文档时出现问题

javascript - 如何在 session 超时时关闭所有事件的 Bootstrap 模式?

asp.net - Visual Studio 调试错误无法启动程序没有更多文件

javascript - 如果使用 jQUery 删除所有行,则删除整个表

c# - 使用 jQuery AJAX 缩短 Web 方法中的参数数量