0
我構建了一個包含幾個變量的字典。在變量的值被放置之前發生的字符串化
我對它進行了字符串化並將其作爲PUT請求發送。
請求會通過,但是這些字段最終會被填入變量名稱(friendRequest
,friendRequester
, requestedFriend
)而不是它們的值!
Parse.Cloud.define("createChatRoom", function(request, response) {
var friendRequest = request.params.friendRequestId.toString();
var friendRequester = request.params.friendRequester.toString();
var requestedFriend = request.params.requestedFriend.toString();
var chatPayload = {}
chatPayload["room"] = {friendRequest: true};
chatPayload["members"] = {friendRequest: {friendRequester: true, requestedFriend: true}}
(...)
Parse.Cloud.httpRequest({
url: 'https://myapp.firebaseIO.com/app' + '.json',
headers: {'Content-Type': 'application/json'},
method: 'PUT',
params: {'auth': token},
body: JSON.stringify(chatPayload)
}).then(function(httpResponse) {
response.success("Successfully created chat room!");
},function(httpResponse) {
response.error("failed to create chat room" + httpResponse.text)
})
})
我在做什麼錯?
你試過在你的params屬性中傳遞Content-Type作爲'application/json'嗎?您正在使用的http請求客戶端可能會默認使用其他功能。 – CaptainAdams
首先,您應該對'chatPayload.room'和'chatPayload.members'使用點語法。其次,你應該使用'x.toString()'而不是'String(x)'來明確地強制轉換爲字符串。 – PitaJ
@PitaJ gotcha,關於這個問題的任何想法? –