发送JSON并使用动态数据参数

时间:2013-04-24 14:02:07

标签: json jquery

尝试将JSON发送到我的服务器时遇到一些错误,我只是想确保我有这个部分。

我担心的部分是数据参数。数据参数是动态的,我只想确保下面的方法是形成它的有效方法。

我形成如下: dataObj [itemName] = itemValue;

以下是我的实施方式:

var itemName = "";
var itemValue = "";
var dataObj = {};

if (divId == "CustomerDiv") {
   itemName = "CustomerId";
   itemValue = id;
} else {
   itemName = "OwnerId";
   itemValue = id;
}
var ajaxMethod = "http://localhost:50151/api/webmethod/";
dataObj[itemName] = itemValue;
$.ajax({
   type: "PATCH",
   url: ajaxMethod,
   dataType: "json",
   data: dataObj
});

这是否是形成数据参数的有效方法?

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为构造动态参数的方式没有任何问题。您是否尝试过调试以确保在调用ajax之前对象看起来正确?它应该是{'CustomerId': val}{ 'OwnerId': val }形式的简单对象。

我注意到a post which may be related。它表示“PATCH”并非在jQuery的所有版本中都可用。它还说并非所有浏览器都支持补丁。

您使用的是什么版本的jQuery?你的浏览器和版本是什么?你收到了什么错误?

答案 1 :(得分:1)

您确实使用正确的synthax来生成数据对象。 dataObj的结果为{CustomerId: XX}(例如)。

请注意,type: "PATCH"不正确,因为type需要正确的HTTP方法(例如GET,POST ...)。