首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PageMethods、jQuery和JSON

PageMethods、jQuery和JSON
EN

Stack Overflow用户
提问于 2011-02-10 15:55:12
回答 2查看 2.3K关注 0票数 1

我正在尝试使用jQuery调用PageMethod,如下所示:

代码语言:javascript
复制
[WebMethod]
public stataic string WebMethod(PostData data)
{
    //DO WORK
    return "a";
}

PostData类如下:

代码语言:javascript
复制
public class PostData
{
    public string Guid{get;set;}
    public string Action{get;set;}
    public string Id{get;set;}
}

我从jQuery中调用方法,如下所示:

代码语言:javascript
复制
$.ajax({
    type="POST",
    url: 'url',
    data: JSON.stringify(b),
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function (msg) {
        var t = $(c).html();
        $(c).html(t + "<br/>" + $.evalJSON(msg.d));
    },
    error: function (x, y) {
        var t = $(c).html();
        $(c).html(t + "<br/>" + $.evalJSON(x.responseText).Message);
    }
});

其中b类似于:{"PostData":{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"}}

我得到了这个错误:

代码语言:javascript
复制
Invalid web service call, missing value for parameter: 'data'.

如果我不调用JSON.stringyfy,我会得到这个错误:

代码语言:javascript
复制
Invalid JSON primitive: PostData.

我也尝试过这个{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"},但还是得到了

代码语言:javascript
复制
Invalid JSON primitive 'Guid'

代码语言:javascript
复制
Invalid web service call, missing value for parameter: 'data'.

这取决于我是否调用JSON.stringify

我也试过,

代码语言:javascript
复制
 [WebMethod]
 public static string WebMethod(string data)

但是找不到地方。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-10 16:05:37

JSON中的第一个分层对象名称应该与您的webservice参数名称相同。

代码语言:javascript
复制
{"data": {"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"} }
票数 2
EN

Stack Overflow用户

发布于 2011-02-10 16:01:44

尝尝这个,

代码语言:javascript
复制
       var params = {"PostData":{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"}}; 
       var yourdata = jQuery.param(params); 

经过

你的数据

作为您的数据而不是JSON.stringify(b)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4954628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档