1
虽然我知道fetch()
请求可以具有“headers:”,“body:”等形式的参数,但我在fetch()
POST调用时遇到了问题一个ColdFusion组件的远程功能。 我取通话:通过CfHttp获取POST和ColdFusion函数之间的通信
fetch('myComponent.cfc?method=createObj', {method: "POST", body: jsonVar })
.then(function (getCreateResponse) {
//do great things
})
.catch(function err) {
alert("Fetch error: " + err);
});
我的CFC功能看起来像:
remote array function createObj(required any myObj) returnFormat = "JSON" {
cfhttp(url="http://myServer/ObjAPI/Obj", method="POST", result="getResponse") {
cfhttpparam(type="header", name="Content-Type", value="application/json");
cfhttpparam(type="body", value=SerializeJSON(myObj));
} }
(这POST需要RequestBody与JSON)。当我运行这段代码,我告诉我的CFC日志:
“需要createObj函数的MYOBJ参数,但未传入。”
当我从CREATEOBJ功能删除参数,则取呼叫失败,有人告诉我:
“变量MyObj中是不确定的。”
在我看来,CF函数需要一个参数,以便知道它应该在cfhttp调用中发送什么;但是,它不会识别fetch调用发送的“body:jsonVar”参数。有没有其他的方法来发送CF函数可以理解的参数?
如果你包围了这个,{{method:“POST”,body:jsonVar}',用括号括住了这个逗号。 –
@DanBracuk恐怕我不太理解这个建议;将括号括起来括括号?逗号也必须在那里,否则我会得到一个错误。 –
我不会为这个或任何东西使用提取。 IE不支持提取,因此您的网站不能跨浏览器。 –