2015-10-15 73 views
0

我有以下代碼添加對象屬性作爲對象ID

$.post('page.php', {prop.name: prop.hash}, function (data) { 
    console.log(data); 
}); 

注意,prob是一個對象和(namehash)是屬性。

prop.cr_name的問題,總是給我這個錯誤消息: SyntaxError: missing : after property id

而且我從prop.name改變了方式prop['name']但仍然出現問題。

如何解決這個問題?

+0

的可能的複製[使用一個變量在JavaScript的關鍵對象常量](http://stackoverflow.com/questions/2274242 /使用變量的一個鍵在一個JavaScript的對象文字) – Kaiido

回答

0

可以傳遞數據作爲查詢字符串

$.post('page.php', prop.name + '=' + prop.hash, function (data) { 
    console.log(data); 
}); 

,或者您需要在下面的方法,Using a variable for a key in a JavaScript object literal創建對象,JavaScript set object key by variable

var data={}; 
data[prop.name] = prop.hash; 

$.post('page.php', data , function (data) { 
    console.log(data); 
}); 

或數組

$.post('page.php', [{ name : prop.name, value : prop.hash }], function (data) { 
    console.log(data); 
}); 

Doc:http://api.jquery.com/jquery.ajax/

+0

它不僅涉及jquery的ajax,但一般的對象聲明 – Kaiido

+0

謝謝你,第一種方式不起作用,但第二種方式工作正常。也謝謝你重新打開我的問題。 –

0

var a=[{ name : prop.name, value : prop.hash }]; 

創建陣列,並傳遞給方法等

$.post('page.php',a, function (data) { 
    console.log(data); 
});