2

我有一个输入元素,我最初将值设置为空:

<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 请求没有设置该值?谢谢。

4

2 回答 2

1

以下帖子可能会有所帮助。尽管他的示例涉及一个 HIDDEN 字段,但我认为您可以通过value=""从您的 HTML 中删除来解决您的问题,如博客文章中所述。

于 2013-04-05T19:22:09.053 回答
0

Ajax 是一个异步请求。您可以尝试使用async: falseajax 函数吗?

$.ajax({
  type: 'GET',
  url: $('#fooValue').data('url'),
  async: false,
  success: function (data) {
    $('#fooValue').val(data);
  }
});
于 2013-04-05T19:55:05.097 回答