【发布时间】:2014-12-26 19:47:01
【问题描述】:
我正在建立优惠券网站。我需要根据页面的 url 触发 ajax 操作。让我解释。
例如,如果用户访问页面 website_url/?coupon_id=99 - 他将获取页面 website_url 并在其中弹出带有 ajax 操作的弹出窗口(ajax 获取 id=99 的优惠券帖子类型的数据并显示其值)。
如果用户访问页面 website_url/page1/?coupon_id=99 - 他将获得页面 website_url/page1/ 和相同的弹出窗口。
你可以在一些优惠券网站上看到这个逻辑,例如,coupondunia.in
我创建了 ajax 操作,它正在工作
function coupon_get_code(){
$couponid = $_GET['couponid'];
$code = get_post( $couponid );
if( !empty( $code ) ){
$offer_coupon = get_post_meta( $code->ID, 'coupon', true );
$response .= '<div class="coupon_modal_coupon">'.$offer_coupon.'</div>';
}
else{
$response = __( 'Offer does not exists', 'textdomain' );
}
echo $response ;
die;
}
add_action('wp_ajax_ajax_code', 'coupon_get_code');
add_action('wp_ajax_nopriv_ajax_code', 'coupon_get_code');
目前我做了基于点击触发ajax动作,像这样
// Coupon Modal
$( '.offer_coupon.masked_coupon:not(.expired_coupon)' ).live("click", function(e){
var $this = $(this);
var couponid = $this.data('couponid');
$.pgwModal({
url: translation.ajax_url + "?action=ajax_code&couponid=" + couponid,
titleBar: false,
ajaxOptions : {
success : function(response) {
if (response) {
$.pgwModal({ pushContent: response });
} else {
$.pgwModal({ pushContent: 'An error has occured' });
}
}
}
});
});
但是如何根据url触发这个ajax请求呢?
【问题讨论】:
-
准备好 dom 中的函数,以便在页面加载后立即运行。
$(document).ready(function(){}) -
这个函数在 jQuery(document).ready(function($) {});
-
是的,但你也有它在点击处理程序中将它移出它并进入它自己的函数说
popupload()如果你需要在点击时调用它也调用函数。
标签: javascript jquery ajax wordpress