下記のソースで、実行したら図2のエラーが出ました。requestのJSONは図1です。どう見ても、JSONが問題が有りません。
同期PUT通信でサブテーブルを更新出来るJSON文字列は何ですか?
分かる方がご教えて頂ければ助かります。
図1
図2
ソースコード:
(function() {
“use strict”;
//レコードの編集、詳細画面で適用する
var events = [
‘app.record.edit.submit’,
‘app.record.create.submit’
];
kintone.events.on(events, function(event) {
var record = event.record;
var subtabledata=record.売上計上明細テーブル;
//这里要循环k263的表,让后逐个更新k22,循环还没写
var token = kintone.getRequestToken();
updatek22subtable(230,token);
return event;
});
////
function updatek22subtable(rid,token){
var body4 ={
“app”: 22,
“records”: [
{ // 1件目のデータ
“id”: 230,
“record”: {
“注文書一覧_売上”: {
“value”:{“value” : {“売上合計_売上計上” :{ “value” : 888 }}}
}
}
}
]
};
var appid=22;
var query = ‘レコード番号="’ + rid+‘"’;//
query = encodeURIComponent(query);
var appUrl = kintone.api.url(‘/k/v1/records’) + ‘?app=’+ appid + ‘&query=’ + query;
var resp_data=req(appUrl);
if(resp_data.records.length > 0){
for(var i = 0; resp_data.records.length > i; i++){
//k22サブテーブルに更新
var strJSON =body4;// ‘{ “app”: “22”,“id”: ‘+rid+’, “record” : { “注文書一覧_売上” : { “value” : [{“value” : {“売上合計_売上計上” :{ “value” : “888” }}}]}},“__REQUEST_TOKEN__”:"’ + token + ‘" }’;
putreq(strJSON);
}
}
}
function req(reqUri) {
// 同期リクエストを行う
var xmlHttp = new XMLHttpRequest();
xmlHttp.open(“GET”, reqUri, false);
xmlHttp.setRequestHeader(‘X-Requested-With’,‘XMLHttpRequest’);
xmlHttp.send(null);
//取得したレコードをArrayに格納
var resp_data = JSON.parse(xmlHttp.responseText);
return resp_data;
}
function putreq(strJSON){
// 登録先アプリの設定
var appURL = kintone.api.url(‘/k/v1/records’);
var xmlhttp = false;
var xhr = new XMLHttpRequest();
xhr.open(‘PUT’, appURL);
xhr.setRequestHeader(‘X-Requested-With’, ‘XMLHttpRequest’);
xhr.setRequestHeader(‘Content-Type’, ‘application/json’);
xhr.onload = function() {
if (xhr.status === 200) {
// success
console.log(JSON.parse(xhr.responseText));
} else {
// error
console.log(JSON.parse(xhr.responseText));
}
};
xhr.send(JSON.stringify(strJSON));
}
})();