I wanted to pass a simple key/value string to an Ajax request, but you cannot simply use the variable as the key in the data:
var $fieldname = 'company_name';
var $value = 'Tate-Davies Inc.';
var $promise = $.ajax({
'url' : '/some/action',
'dataType' : 'json',
'data' : {
$fieldname : $value
}
)};
The above just will not work, and the $_GET will contain:
'fieldname' => 'Tate-Davies Inc.'
What I actually want is:
'company_name' => 'Tate-Davies Inc.'
So, in order to fix this:
var $data = JSON.parse('{"' + $fieldname + '":"' + $value + '"}');
And pass that instead:
var $promise = $.ajax({
'url' : '/some/action',
'dataType' : 'json',
'data' : $data
)};
Thanks you for this. Exactly what I needed to pass PHP variables to JS and know that the key is always correct if changes from the PHP level.