使用jQuery post()
我正在调用一个返回json({"Success": "true" }
或{"Success": "false"}
)的ajax动作。获取json后,我试图将隐藏的HTML元素的值设置为返回对象中的Success
值。设置隐藏元素后,根据Firebug的监视表达式,它仍然是空的(未定义)。但在进行另一次相同的调用后,该值设置正确。我做错了什么?
的JavaScript
function setValue() {
$.post('/action', { "data": "dummy" }, function (data) {
if (eval(data.Success))
$('#hiddenResult').prop('value', 'true');
else
$('#authResult').prop('value', 'false');
}, "json").fail(function () {
$('#hiddenResult').prop('value', 'false');
});
}
HTML
<input type="hidden" id="hiddenResult" name="hiddenResult" />
答案 0 :(得分:2)
使用val()
修改输入值:
$.post('/action', { "data": "dummy" }, function (data) {
if (data.Success) // might need to be: if (data.Success == 'true') {
$('#hiddenResult').val('true');
else
$('#authResult').val('false');
}, "json").fail(function () {
$('#hiddenResult').val('false');
});
此外,您不需要在那里使用eval
(或者就此而言)。