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

尝试发布数据时,使用Jquery调用.Net Web服务会造成麻烦

养焱
2023-03-14
问题内容

当数据密钥没有要发送的数据(即数据)时,以下代码将正确执行:“
{}”为空的JSON对象,并且Web服务不接受任何参数。我想将一些数据发布到Web服务,但是遇到了麻烦。

当我尝试将其设置为data:“ {‘name’:’Niall’,’surname’:’Smith’}”时,出现错误

{"Message":"Invalid web service call, missing value for parameter: \u0027json\u0027.","StackTrace":"   at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n   at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n   at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n   at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

Web服务未执行。

这是我的Jquery调用,用于将我的数据发布回服务器

    $.ajax({
        type: "POST",
        url: "/WebServices/BasketServices.asmx/AddItemToBasket",
        data: "{'name':'niall'}", // Is this Correct??
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: OnItemAddedSuccess
    });
function OnItemAddedSuccess(result,eventArgs) {
    //deserialize the JSON and use it to update the Mini Basket
    var response = JSON.parse(result.d);
}

这是我的WebService

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class BasketServices : System.Web.Services.WebService
{
    [WebMethod(true)]
    public string AddItemToBasket(string json)
    {
       //do stuff
       return myString.toJSON();
    }
}

可能是什么问题?是要发布的JSON数据的格式吗?可能是我没有在WebService上设置正确的属性。戴夫·沃德(Dave
Ward)的帖子中
提到的问题呢?

我已经尝试了所有我能想到的。有人有什么想法吗?


问题答案:

我认为Web服务希望json设置该参数。试试这个AJAX调用:

var data = {'name':'niall'};

$.ajax({
    type: "POST",
    url: "/WebServices/BasketServices.asmx/AddItemToBasket",
    data: "json=" + JSON.stringify(data),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: OnItemAddedSuccess
});

JSON.stringify()与“官方”实现中的方法类似的方法在哪里:http :
//json.org/js.html



 类似资料:
  • 我正试图通过后台服务将数据发布到web服务器。 函数PostData将数据发送到服务器,但当我添加它时,程序显示: 不幸的是,程序停止工作 这是我的代码: 和堆栈跟踪:

  • 我正试图通过改造发布原始数据。 我发现了许多解决方案,以POST JSON在身体使用齐射,但我发送的数据不是JSON。 当我从邮递员那里打电话时,我得到的是数据,但不是Android系统。 请告诉我怎么做。 我试图以字符串形式发送,但错误代码为500 我也在JsonObject中发送数据,但不工作... 这是我的密码。。

  • 问题内容: 我想将Json发布到同一服务器上的Web服务。但是我不知道如何使用JQuery发布Json。我已经尝试使用此代码: 但是使用此JQuery代码时,数据不会作为Json在服务器上接收。这是服务器上的预期数据:但是使用JQuery时,服务器receive 。换句话说,它是“ urlencoded”数据,而不是Json。 有什么方法可以使用JQuery以Json格式发布数据,而不是未编码的数

  • 我有一个JSON对象,希望使用服务器的API键将其发送到服务器。我希望有一个3的重试计数,以便我可以重试发送数据,如果以前的调用失败。 我不确定是使用'axios-retry'还是'retry-axios'。如何在头中配置Content-Type,以及在哪里添加API键和要发送的数据。我现在的代码如下所示:

  • 问题内容: 我必须将以下数据发送到URl的Web服务 要发送的数据格式为: 其中,和是键,并具有通过edittext字符串获取的相应值字符串。我在单击按钮时发布此数据。 我没有收到任何回应,因为我试图与我的合作开发者在他的iPhone相同的应用程序iPhone版本中与我的合作开发者进行反检查,因为服务器说用户名和密码无效。 我的课是: 请协助我,我是JSON和Android.Thanx解析的新手。

  • 问题内容: 我对JavaScript的了解很少(没有),或者对使用API​​的了解很多。但是,我想在我的网站上显示一些酒店评论,这些评论通过qype.com API提供。但是,我正在努力管理这一点。 这是我到目前为止的代码: 我的正文中有一个div,它要显示文本。 任何建议都收到了。 JSON可以在http://api.yelp.com/business_review_search?term=hi