我很可能做错了但不确定是什么。我正在尝试使用FF海报测试NetSuite Restlet(Web服务)。我可以通过在URL中传递数据来使用Get来工作。但是,使用Put方法时出错。
{“error”:{“code”:“SYNTAX_ERROR”,“message”:“SyntaxError:空JSON字符串(null $ lib#3)。”}}
它击中了我的下方。我读到要创建或更新我们应该使用Put所以不确定为什么Get工作但不是Put?
function CreateRecord(jsonobject)
{
try
{
nlapiLogExecution('DEBUG', ' in get = ');
var jsonString = JSON.stringify(jsonobject)
nlapiLogExecution('ERROR', 'JSON', jsonString);
// Mandatory
var name = jsonobject["name"];
nlapiLogExecution('DEBUG', ' name = ', name);
var record = nlapiCreateRecord('customrecordtest');
record.setFieldValue('name', name);
var id = nlapiSubmitRecord(record, true);
nlapiLogExecution('DEBUG', 'id = ', id);
return jsonobject;
}
catch (err)
{
nlapiLogExecution('ERROR', 'Error', err.message);
return err.message;
}
}
海报:
https://rest.sandbox.netsuite.com/app/site/hosting/restlet.nl?script=351&deploy=1&name=Restlet测试
答案 0 :(得分:2)
PUT请求不会在URL中查找数据。它将在请求本身中查找JSON。因此,您需要在请求正文中发送一个对象&name=Restlet Test
{ "name" : "Restlet Test" }
。