【发布时间】: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