【问题标题】:Webservice not working with scriptWeb服务不使用脚本
【发布时间】:2015-02-14 15:47:23
【问题描述】:

我的网络服务似乎有问题。

我使用以下脚本:

<script src="Scripts/jquery-1.11.1.min.js"></script>
    <script>
        $(document).ready(function () {
            $('#btn').click(function () {
                var name = 'calle';
                jQuery.ajax({
                    url: 'WebService.asmx/GetData',
                    type: "POST",
                    dataType: "json",
                    data: "{'name': '" + name + "'}",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        alert(JSON.stringify(data));
                    }
                });
            });
        });

代码隐藏:

[WebMethod(EnableSession = true)]
        public static string GetData(string name)
        {
            return name + "add";
        } 

当我从我的代码隐藏(使用 webforms)调用这个脚本时,它可以正常工作并返回它应该返回的内容,但是当我从我的 WebService 调用它时它不起作用,什么也没有发生。有什么问题?

我的网络服务(以防万一):

namespace WDBAPP
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService
    {

【问题讨论】:

  • 您是否使用 POST 来“获取”数据?
  • 我只是在尝试使用 POST,因为这是我以后想要做的更复杂的信息发布和从数据库中获取信息。但如果 web 服务不能工作,那么我需要先解决这个问题。我只是想知道我的网络服务无法正常工作的原因。
  • 为什么是-1?这个问题有什么问题?
  • 您有 dataType: "json",但您返回的是一个简单的字符串,而不是 JSON。尝试将其更改为text
  • 你能说这是否是问题所在?

标签: c# jquery asp.net ajax web-services


【解决方案1】:

可能是您发布的是字符串而不是序列化数据。

试试这个:

data: {name:name},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多