好的,基本上我正在向Codeigniter發送一個帶有JSON有效載荷的POST請求。我使用RESTAdapater。 JSON在沒有密鑰的情況下被髮送到那裏,所以我無法訪問它。使用EmberJS中的密鑰包裝JSON有效載荷
這裏是模型:
App.Bookmark = DS.Model.extend({
title: DS.attr("string"),
url : DS.attr("string")
});
這裏是控制器:
在CIApp.BookmarksNewController = Ember.ObjectController.extend({
save: function(){
this.get("model.transaction").commit();
this.get("target").transitionTo("bookmarks");
}
});
在REST實現,我用標準的方式來訪問POST請求$this->input("key")
。但是當上面的請求生成時,只發送原始的JSON數據。因此,我似乎沒有辦法以任何方式引用它。
拿這個例子:
function post(){
$this->response(var_dump(file_get_contents("php://input")),200);
}
給了我這樣的輸出:
string(48) "{"bookmark":{"title":"sdffdfsd","url":"sdfsdf"}}"
什麼,我想看到的是:
string(48) payload="{"bookmark":{"title":"sdffdfsd","url":"sdfsdf"}}"
然後是服務器我將能夠使用類似$this->post("payload").
所以1中的2。無論如何要用密鑰包裝JSON有效載荷?或者無論如何訪問配置項中的原始JSON數據,沒有密鑰可用?
$ array = json_decode($ payload);會給你一個數組,讓你可以按你想要的方式引用它們。 – ahmad
爲什麼你沒有鑰匙沒有訪問它? $ this-> post – intuitivepixel
很可能是因爲PHP中的底層實現,它不會;如果它不是一個有效的查詢字符串或類似的東西,它會在$ _POST數組中註冊。 只用file_get_contents(「php:// input」)訪問JSON會不好主意? – galdikas