在ajax调用之后使用php变量
Use a php variable after an ajax call
很抱歉,如果这是一个愚蠢的问题。我是Ajax的新手。我试图改变验证凭证代码的Wordpress插件代码。代码在javascript中加载,从输入的html字段调用它的id。
html是这样的:
<input type="text" id="woo_vou_voucher_code" name="woo_vou_voucher_code" value="" />
和js
jQuery( document ).ready( function( $ ) {
// Check Voucher code is valid or not
$( document ).on( 'click', '#woo_vou_check_voucher_code', function() {
//Voucher Code
var voucode = $( '#woo_vou_voucher_code' ).val();
if( voucode == '' || voucode == 'undefine' ) {
//hide submit row
$( '.woo-vou-voucher-code-submit-wrap' ).fadeOut();
$( '.woo-vou-voucher-code-msg' ).removeClass( 'woo-vou-voucher-code-success' ).addClass( 'woo-vou-voucher-code-error' ).html( WooVouCheck.check_code_error ).show();
} else {
//show loader
$( '.woo-vou-check-voucher-code-loader' ).css( 'display', 'inline' );
//hide error message
$( '.woo-vou-voucher-code-msg' ).hide();
var data = {
action : 'woo_vou_check_voucher_code',
voucode : voucode
};
//call ajax to chcek voucher code
jQuery.post( WooVouCheck.ajaxurl, data, function( response ) {
//alert( response );
if( response == 'success' ) {
//show submit row
$( '.woo-vou-voucher-code-submit-wrap' ).fadeIn();
$( '.woo-vou-voucher-code-msg' ).removeClass( 'woo-vou-voucher-code-error' ).addClass( 'woo-vou-voucher-code-success' ).html( WooVouCheck.code_valid ).show();
}
它工作得很好,但我现在想要的是,在div '。我可以回显js文件中使用的voucode变量。例如:
<div class="woo-vou-voucher-code-submit-wrap"><?php echo $voucode; ?><div>
我不知道如何做到这一点。
编辑:对不起,我只使用echo为例。我需要的是使用$voucode内的其他php函数。
<?php
global $wpdb;
$querystr = "SELECT post_id
FROM $wpdb->postmeta
WHERE
(meta_key = '_woo_vou_purchased_codes' AND meta_value = '$voucode')";
$postid = $wpdb->get_var($wpdb->prepare($querystr));?><div class="woo-vou-voucher-code-submit-wrap"><?php echo $postid; ?><div>
$('.woo-vou-voucher-code-submit-wrap').text(voucode);
既然您将您的代码发布到php脚本中,您的代码将在$_POST['voucode']
中,那么您可以随意使用它。然后回显$postid
以及成功消息
<?php
$voucode = $_POST['voucode'];
//do whatever processing
//..
if($validCode){
echo "success,".$postid;
}
JS
//check that success is the first part of the response
if( response.indexOf('success') === 0 ) {
var postid = response.split(",")[1];
$( '.woo-vou-voucher-code-submit-wrap' ).text(postid).fadeIn();
}
这只是一个简单的例子。您可以使用其他响应类型,如JSON,这样您就不必进行字符串分割或其他操作。
PHP在收到请求后呈现页面。PHP在服务器上运行,因此一旦在用户的浏览器上加载了页面,就无法执行PHP代码。您需要使用JavaScript,在本例中使用jQuery。
修改代码,当您想要添加变量的值时,只需使用jQuery函数添加它。
$(".woo-vou-voucher-code-submit-wrap").text(voucode);
如果是表单的输入字段,则使用val
函数。
$(".woo-vou-voucher-code-submit-wrap").val(voucode);
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 如何在php变量中嵌入JQuery代码
- 在javascript函数中使用php变量
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 从Javascript和Php变量创建Html模板文档
- 如何将php变量作为javascript中列表的元素
- 将PHP变量分配给PHP数组
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 在Javascript甜甜圈图的PHP变量中引用PHP变量
- 使用javascript访问php变量
- 在Javascript文件中获取PHP变量
- 如何为Javascript数组()的使用准备PHP变量
- 如何获取PHP变量数据并将其存储在JavaScript变量中
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 通过Javascript验证PHP变量
- 如何将Ajax数据值分配给PHP变量
- 如何在 bootsrap 完整日历中使用 PHP 变量
- 在javascript中调用PHP变量