通过jquery ajax将json对象传递给webmethod

Posted

技术标签:

【中文标题】通过jquery ajax将json对象传递给webmethod【英文标题】:Passing json object to webmethod via jquery ajax 【发布时间】:2017-03-02 07:54:25 【问题描述】:

我正在尝试将 json 对象传递给我的 .net webmethod。 这是我的 C#:

[WebMethod]
public static string Guncelle(string personel)

 return "It came.";

还有我的 jquery ajax:

var saveData = ;
saveData.Isim = isim;
saveData.Soyad = soyisim;
saveData.Firma = firma;
.
.
.
var result = JSON.stringify( personel: saveData );

$.ajax(
        type: "POST",
        url: "Personeller.aspx/Guncelle",
        data: result,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) 
           alert(msg.d);
        ,
        error: function (msg) 
           alert(msg.d);
        
)

当我运行代码时,它会返回带有警报的“未定义”。将 json 对象传递给 C# Webmethod 的正确方法是什么?我尝试了其他传递对象的示例,但没有一个对我有用。

【问题讨论】:

试试 "personel": "saveData" 只需传递string,您正在尝试传递具有personel 属性的对象。 您希望返回字符串还是返回 json 对象?如果它是一个字符串,那么 msg.d 是正确未定义的。否则,您需要将响应格式指定为 json。 【参考方案1】:

试试这个:data: "personel:'" + saveData+ "'"

【讨论】:

以上是关于通过jquery ajax将json对象传递给webmethod的主要内容,如果未能解决你的问题,请参考以下文章

Jquery DataTable 将参数传递给ajax 调用asp.net。无效的 JSON 原语

将多个参数传递给 jQuery ajax 调用

使用 jQuery Ajax 将单个对象传递给 MVC 控制器方法

如何将对象上下文传递给 jQuery.ajax JSONP 回调?

Javascript ajax 将动态创建的 json 对象传递给 Web 服务

将额外参数传递给jquery ajax promise回调[重复]