使用 jQuery post()
我正在调用一个返回 json 的 ajax 操作({"Success": "true"}
或 {"Success": "false"}
).获取 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" />
最佳答案
使用 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
。
编辑:This Jason 的评论非常有帮助。
关于javascript - jQuery 将隐藏元素值设置为 post() 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19844014/