我使用骨幹在我的應用程序解壓縮JSON數據,我嘗試使用骨幹方法.save方法 這裏更新一個JSON文件是網站http://dalydd.com/projects/backbone/backbone.html.save方法試圖在一個PHP文件
這裏是我的js這是工作的罰款
var ModalInfo = Backbone.Model.extend({
defaults: {
person:'',
occupation:'',
home:'',
},
url:'sample.php',
});
var developer = new ModalInfo();
developer.toJSON();
developer.save({person:'madan', occupation:'developer', home:'middtown'}, {
wait:true,
success:function(model, response) {
console.log('Successfully saved!' + model + response);
},
error: function(model, error) {
console.log(model.toJSON());
console.log('error.responseText' +model);
}
});
這裏是我的sample.php PHP的,我試圖讓json.js的內容進行解碼它與我的新數據添加,然後對其進行解碼並作爲迴應返回
<?php
$json_data = json_decode(file_get_contents('json.js'), true);
for ($i = 0, $len = count($json_data); $i < $len; ++$i) {
//do the right logic
}
file_put_contents('json.js', json_encode($json_data));
$final_data = file_get_contents('json.js', json_encode($json_data));
echo $final_data;
echo(var_dump($_POST));
?>
當我嘗試回聲出超級全球后,我得到陣列(0)
我希望有人能幫助我與我的PHP,爲什麼我不能在sample.php時提取任何POST數據我在主幹中使用.save方法 - 當我回應服務器請求方法時,它聲明發布我只想抓取發佈數據並將其寫入文件,然後返回它我是以這種錯誤的方式 - 任何幫助表示讚賞 - 我在這方面一直在絞盡腦汁。我的第一步是找出爲什麼我無法獲得任何後期數據,即使螢火蟲告訴我它是張貼當我加載頁面 - 你也可以檢查
嘿邁克這是一個巨大的幫助。 php://輸入的意義是什麼?我認爲我以前從未使用過它,但它的工作還有另一個快速問題。目前在我的PHP文件中,我發佈骨幹的數據作爲json解碼,然後我本質上從json.js獲取json並解碼,然後使用array_merge合併它們,然後編碼並使用file_put_contents更新json .js文件!有沒有更簡單的方法來做到這一點?必須有 –
@JamesDaly'php:// input'只是PHP的輸入流包裝器,請參閱以下鏈接以獲取有關PHP中包裝器的更多信息:http:// php .net/manual/en/wrappers.php.php。你的用例實際上是從一個實際的javascript文件中讀取和寫入的,並且除了某種AJAX方法之外,使用它看起來很奇怪。我猜你試圖持久化某些應用程序數據爲JSON格式?爲什麼不在javascript中讀取json.js的內容,然後改變它,但是它在應用程序中被改變,然後通過'save()'調用保存整個結構? –
@JamesDaly我的道歉我只有有限的曝光e到Backbone(我傾向於做更多的服務器來後臺工作),所以我不熟悉如何使用'save'。 –