wordpress中的AJAX查询字符串

时间:2013-07-03 10:54:51

标签: php ajax wordpress query-string

我正在尝试使用AJAX在wordpress中传递查询字符串,我已经使用get和post在网上尝试了各种代码。但是我无法在PHP中获取参数。

在我的页面中使用javascript工作,但它会回发我想要避免的页面。有什么建议吗?

使用回发的工作代码:

self.location = "?q=" + postcode;

jQuery.param.querystring(location.href= "?q=" + postcode);
在PHP中使用$ _POST ['q']的ajax查询没有得到参数

jQuery.ajax({
        type: 'POST',
        url:  'wp-admin/admin-ajax.php' ,
        data: {"q": postcode},
        success: function(data){jQuery('#results').val(postcode);}
    });

由于

吉马

仍有问题,无法将我的查询字符串输入我的php:

class PostcodeChecker extends WP_Widget {
      function PostcodeChecker() {
                $widget_ops = array(
                'classname' => 'PostcodeChecker',
                'description' => 'Checks if valid postcode in database before request button enable'
      ); 

      $this->WP_Widget(
                'PostcodeChecker',
                'Postcode Checker',
                $widget_ops
      );

}

      function widget($args, $instance) { // widget sidebar output
                extract($args, EXTR_SKIP);
                echo $before_widget; // pre-widget code from theme
                print ('<h2 class="blocktitle">Postcode Checker</h2> ');
                print ('<input type="text" id="txtPostcode"/> &nbsp;&nbsp;<input id="btnRegister" type="button" disabled="disabled" value="request application form" />');

                print ('<br/><input type="text" id="results"></div><br/>');
                $postcode = $_GET['q'];

                print $postcode;
                $mysqli= mysqli_connect('localhost','root', 'My5ql5s5s');

                if (mysqli_connect_errno()) {
                    printf("Connect failed: %s\n", mysqli_connect_error());
                    exit();
                }

            // A QUICK QUERY ON A FAKE USER TABLE
                $query = "SELECT * FROM db_wp_webteam1.wp_bduk_towns where town_postcode='BT11ER'";
                $result = $mysqli->query($query) or die($mysqli->error.__LINE__);


            // GOING THROUGH THE DATA
                if($result->num_rows > 0) {
                    //while($row = $result->fetch_assoc()) {
                    //  echo stripslashes($row['town_postcode']);   
                    //}
                    echo 'Results found';
                }
                else {
                    echo 'NO RESULTS';  
                }

            // CLOSE CONNECTION
                mysqli_close($mysqli);

                echo $after_widget; // post-widget code from theme
      }

}

function add_js_to_wp_footer(){ ?>
<script type="text/javascript">
jQuery('#txtPostcode').keyup(function(){
    var postcode = jQuery(this).val();
    postcode = postcode.replace(/\s+/g, '');
    if (postcode.length >= 5)
    {
    //self.location = "?q=" + postcode;
    jQuery('#txtPostcode').keyup(function(){
    var postcode = jQuery(this).val();
    postcode = postcode.replace(/\s+/g, '');
    if (postcode.length >= 5)
    {
    jQuery.ajax({
        type: 'POST',
        url:  'wp-admin/admin-ajax.php' ,
        data: {"q": postcode},
        success: function(data){jQuery('#results').val(data);}
    });
    }
return false;
});

    }
return false;
});
</script>

0 个答案:

没有答案