WinJS OData JSON

WinJS OData JSON,odata,winjs,Odata,Winjs,尝试通过web服务将数据发送到我的数据库,但出现以下错误: Primitive values of type 'Edm.Decimal' and 'Edm.Int64' must be quoted in the payload. Make sure the value is quoted 这是我的密码: var newEntry = { datum: entryDate, monat: parseFloat(entryMonth), taeti

尝试通过web服务将数据发送到我的数据库,但出现以下错误:

Primitive values of type 'Edm.Decimal' and 'Edm.Int64' must be quoted in the payload. Make sure the value is quoted
这是我的密码:

var newEntry = {
        datum: entryDate,
        monat: parseFloat(entryMonth),
        taetigkeit: document.getElementById("addWork").value,
        total: parseFloat(document.getElementById("addTotal").value),
        totalV: parseFloat(document.getElementById("addTotalV").value),
        in_auswertung: 0,
        teil_projekt_id: parseFloat(document.getElementById("addSubProject").value),
        projekt_id: parseFloat(document.getElementById("addProject").value),
        TimeStamp: entryDate,
        sAuftraggeber: document.getElementById("addContractor").value,
        iidBenutzer: parseFloat(298),//sessionStorage.getItem("userId"),
        akt_id: parseFloat(document.getElementById("addActivity").value)
    };

    WinJS.xhr({
        type: "post",
        url: requestUrl,
        data: JSON.stringify(newEntry),
        headers: {
            "Content-type": "application/json"
        }

    }).then(
          function complete(response) {

          },
谢谢
Marlowe

至少有一个属性的声明类型为
Edm.Decimal
Edm.Int64
。这些值必须以OData的JSON格式序列化为字符串(即以
字符包装的数字)。如果您不确定声明的属性类型,可以在服务器的
$metadata
文档中查找实体类型(通常可在
http://.../MyService.svc/$metadata


因此,对于
Edm.Int64
Edm.Decimal
的一个或多个属性,您可以删除对
parseFloat()
的调用,并将其作为字符串保留。

紧靠上下箭头下方(答案左上方),有一个复选标记的轮廓。您可以单击该复选标记接受答案。对于stackoverflow的一般介绍,您可能会发现以下内容很有帮助: