下拉列表中的AJAX更改PHP

时间:2015-03-21 12:08:06

标签: php ajax wordpress

我尝试使用Ajax(我的第一次),我不知道我做错了什么。我有两个文件:home.html和ajax.php

在第一个(home.html)我有这个

<html>
<head>
    <script type="text/javascript" src="jquery-2.1.3.min.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery('#Client_ID').live('change', function(event) {
            $.ajax({
                url     : 'ajax.php',
                type    : 'POST',
                dataType: 'json',
                data    : $('#myform').serialize(),
                })
            .done(function(data) {
                 for(var id in data) {        
                              $(id).val( data[id] );
                 }

            });
        });
    });
    </script>
</head>
<body>
    <form id='myform'>
     <select name='Client_ID' id='Client_ID'>
       <option value=''>Select</option>
       <option value='1'>Client 1</option>
       <option value='2'>Client 2</option>
     </select>
     <input type='text' name='address1' id='address1'>
      </form>
</body>
</html>

和我的AJAX.php文件

<?php
define('WP_USE_THEMES', false);
require('../wp-blog-header.php');

global $wpdb;
$clientid = $_POST['Client_ID']; // Selected Client Id
$result = $wpdb->get_row( "SELECT * FROM wp_com_plantillas WHERE id=$clientid" );
$addr1 = $result->asunto;
$arr = array( 'input#address1' => $addr1);
echo json_encode( $arr );
?>

在数据库连接上,我使用wordpress global var $wpdb

要测试 ajax.php ,我将POST更改为GET并加载网址,例如ajax.php?client_id = 1并且结果没问题,但是当我测试它时home.html,当下拉列表更改时,输入不会填充。

非常感谢

1 个答案:

答案 0 :(得分:0)

如果您使用的是Wordpress,请考虑使用look in this article that explains how to properly declare ajax on Wordpress

此外,如果您使用Chrome,请使用您的开发者工具。按F12,您可以看到名为“网络”的标签。您的页面所做的每个请求都会记录在那里。如果您只想过滤AJAX请求,请单击过滤器按钮,然后选择XHR。每行都是一个请求,每个请求在被点击时都可以提供有关响应的信息。检查响应是否正常,如果响应代码实际为200。