2016-01-21 66 views
0

我有POST請求,由於我需要使用它發送一些奇怪的數據參數,我無法正常工作。以角度發送POST請求中的嵌套數據

雖然這個工程:

return $http.post('/adcampaign/update_ads.json' 
    + '?id=' + params.id 
    + '&adcampaign_id=' + params.adcampaignID 
    + '&ads[description]=' + params.description 
    + '&ads[title]=' + params.title 
    + '&ads[skip_offset]=' + params.skip_offset 
    + '&ads[click_through]=' + params.click_through); 
} 

它創建我不想參數,但它是我得到它的工作至今的唯一途徑。

我試着這樣做:

$http.post('/adcampaign/update_ads.json', { 
    id: params.id, 
    adcampaign_id: + params.adcampaignID, 
    'ads[description]': params.description, 
    'ads[title]': params.title, 
    'ads[skip_offset]': params.skip_offset, 
    'ads[click_through]': params.click_through 
}); 

但是,在後端由於ads[prop]數據性能產生誤差。

如果沒有' s寫入ads[prop]會引發語法錯誤,也會寫入ads['prop']

我該如何做這項工作?

回答

0

應該創建屬性ads,它本身就是一個具有屬性的對象。

var postData = { 
    id: params.id, 
    adcampaign_id: + params.adcampaignID, 
    ads:{ 
     description: params.description, 
     title: params.title, 
     skip_offset: params.skip_offset, 
     click_through: params.click_through 
    } 
} 

$http.post('/adcampaign/update_ads.json', postData) ; 

要驗證在PHP中:

$data = json_decode(file_get_contents('php://input')); 
var_dump($data); 
+0

看起來合理,但在我要看看之前,如果它是正確的解決方案,我可以說後端收到一個錯誤。我會盡快給您回覆 :) – Chrillewoodz