我试图通过jQuery的$.post()
方法传递一些数据,但是在数据映射中遇到了一些问题,我只能将其归类为变量评估。下面开始讲解:
var field = 'fooVar';
var value = 'barVar';
$.post('/path/to/url', { field:value, 'fooString':'barString' });
最终结果是具有以下值的 POST 请求:
// Actual result
field = barVar
fooString = barString
// Expected result
foo = barVar
fooString = barString
我原本期望"field"在数据映射中被视为变量"foo"进行评估,但事实并非如此。我所能发现的是,"key"上的单引号是可选的,因此省略它们不会导致变量被评估。出于好玩,我还尝试了以下方法,但没有成功:
$.post('/path/to/url', { "'" + field + "'":value, 'fooString':'barString' });
$.post('/path/to/url', { eval(field):value, 'fooString':'barString' });
我被难住了。谢谢你能提供任何帮助,甚至只要一个坚定的“不”让我可以继续我的生活,安心地知道有更熟悉的人支持我会很感激。:)