【问题标题】:Appending HTML through Ajax Success通过 Ajax 成功附加 HTML
【发布时间】:2014-06-05 01:13:18
【问题描述】:

我想知道如何通过我的 Ajax 附加有关其成功的信息。这就是我所拥有的:

HTML/PHP 按钮:

<input class="canjear btn" type="button" value="<?php echo JText::_('COM_CUPHONEO_BOTON_CANJEAR'); ?>" data-id="<?php echo $valor->item_id; ?>" />

JAVASCRIPT 代码:

<script>
jQuery(function(){
    jQuery(".canjear").click(function(e){
        if(this.tagName==="A"){
            e.preventDefault();
        }

//$(this).data("key") will return the value at the named data which is set by HTML5 data-* attribute
        jQuery.ajax({
            url: "index.php?option=com_cuphoneo&task=miscuponess.canjearCupon",
            type: "POST",
            data: {id:jQuery(this).data("id")},
            success: window.location.href = "index.php?option=com_cuphoneo&view=miscuponess&layout=default"
        })
        .done(function(data){
            alert(data);
            }
        });
    });
});
</script>

调用的 PHP 函数:

这是一个很大的功能,但总而言之,它是一个返回数据的查询,此外还会进行其他验证。

如果您需要更多信息,请告诉我

我试图附加的信息是我在 Ajax 中调用的 PHP Function 中获得的信息。

谢谢。

【问题讨论】:

  • success: function(data){/* do something with data returned from server*/}
  • 根据您的代码,您不会尝试附加任何信息,而是重定向您的页面;所以你需要使用.done(function(data) { /* APPEND YOUR INFO WHEREVER YOU WANT */})看看api.jquery.com/jquery.ajax
  • @Javad 我可以在我的成功中保留我的window.location.href 并且仍然在 .done 函数中附加 HTML 吗?
  • @Javad 我已经编辑了我的代码,它没有进入alert
  • 不,因为调用window.location.href 会加载一个新页面,并且会丢失当前页面,那么如何将HTML 附加到当前页面?你能解释一下为什么需要加载新页面(可能是问题或解决方案应该改变)

标签: javascript php jquery html ajax


【解决方案1】:

@MONZTAA

您正在尝试同时使用这两种功能。

弃用通知:jqXHR.success()、jqXHR.error() 和 jqXHR.complete() 回调自 jQuery 1.8 起已弃用。要为最终删除它们做好准备,请改用 jqXHR.done()、jqXHR.fail() 和 jqXHR.always()。

反过来你应该只使用这个:

$.ajax({

url: "index.php?option=com_cuphoneo&task=miscuponess.canjearCupon",
type: "POST",
data: {id:jQuery(this).data("id")}
})
.done(function( msg ) {
   alert( "Data Saved: " + msg );
});

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 2015-12-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    相关资源
    最近更新 更多