我有一个输入元素,我将该值设置为最初没有任何内容:
<input id="fooValue" type="hidden" data-url="@Url.Action(MVC.fooController.fooValue())" value="" />
然后我有一个AJAX调用,我在其中检索一个值并尝试将其传递给输入并将之前的空白值设置为这个新值:
$.ajax({
type: 'GET',
url: $('#fooValue').data('url'),
success: function (data) {
$('#fooValue').val(data);
}
});
当我在Firebug控制台中执行此AJAX请求时,我得到了值4,但是当我从输入中获取值时,它没有返回任何内容。任何人都可以帮助我并告诉我为什么看起来这个值没有用AJAX请求设置?感谢。
答案 0 :(得分:1)
以下post可能会有所帮助。虽然他的示例涉及HIDDEN字段,但我认为您可以通过从博客文章中描述的HTML中删除value=""
来解决问题。
答案 1 :(得分:0)
Ajax是一个异步请求。您可以尝试在ajax函数中使用async: false
吗?
$.ajax({
type: 'GET',
url: $('#fooValue').data('url'),
async: false,
success: function (data) {
$('#fooValue').val(data);
}
});