将 Ajax 与 jQuery 结合使用

问题描述 投票:0回答:3

我想显示一个对话框,它使用ajax从服务器动态获取其内容。如果我用这个

$('a.key').click(function(){
          var resp = 'grk';
          $dialog.html(resp);
          $dialog.dialog('open');
          return false;
      });

一切都很完美。当我单击链接时,它会显示对话框。但是如果我尝试做我想做的事情,那就是调用 ajax 来填充对话框内容。它就是行不通。我对 jquery 很陌生,请帮忙。

这是我用来调用ajax的代码,但它不起作用。

$('a.key').click(function(){
          var resp = 'grk';
          resp = $.ajax({
               type: "GET",
               url: "/cms/getdata",
               success: function(msg){
             }).responseText;

          $dialog.html(resp);
          $dialog.dialog('open');
          return false;
      });

谢谢你..

javascript jquery
3个回答
2
投票

尝试

$('a.key').click(function(){
      var resp = 'grk';
      resp = $.ajax({
           type: "GET",
           url: "/cms/getdata",
           dataType: "html",
           success: function(msg){
            $dialog.html(msg);
            $dialog.dialog('open');
            }
           }).responseText;


      return false;
  });

1
投票

由于 JavaScript 的异步和非阻塞性质,您必须提供一个回调,该回调在 ajax 响应到达后执行。您还可以使用 jQuery.get 快捷方式。

$('a.key').click(function() {
    $.get("/cms/getdata", function(data) {
        $dialog.html(data);
        $dialog.dialog('open');
    });

    return false;
});

0
投票

发生的情况是 $dialog 操作正在发生,而 ajax 请求仍在发生。你要做的是封装响应返回后的命令。

噢!尤里打败了我。

© www.soinside.com 2019 - 2024. All rights reserved.