WinJS OData JSON
尝试通过web服务将数据发送到我的数据库,但出现以下错误: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
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的一般介绍,您可能会发现以下内容很有帮助: