【问题标题】:Using jQuery $.ajax to post json encoded data to a php script: success event is doing nothing使用 jQuery $.ajax 将 json 编码数据发布到 php 脚本:成功事件什么也不做
【发布时间】:2016-12-30 07:16:21
【问题描述】:

我正在使用 jquery 进行 ajax 调用,以将数据作为 json 发布到 php 文件,但是 success 上没有发生任何事情。我的代码如下:

AJAX 部分

$.ajax({
    url:"myData.php",
    dataType: 'json',
    method:"POST",
    data:'country',                      
    success:function(j){
        var $country = $("#country");
        $.each(j, function () {   
            $country.append($('<option></option>').attr("value", this.country_id).text(this.country_name));
        });
    }
});  

PHP 部分

if(isset($_REQUEST['country'])){
    $conn=new MySQLi("localhost","root","","newdb");
    $myQuery="select * from country";

    $result=$conn->query($myQuery);

    while($country=$result->fetch_assoc()){
        echo json_encode($country);
    }
}

HTML 部分

<label >country:</label>
<select class="form-control"  id="country" >
    <option>---select---</option>
</select>

【问题讨论】:

  • 能否在浏览器的开发者工具中查看网络流量?
  • 你想向服务器发送什么数据?
  • {"country_id":"5","country_name":"pakistan"}{"country_id":"6","country_name":"india"}{"country_id":"7" ,"country_name":"america"}{"country_id":"8","country_name":"Bnagladesh"} 这是来自服务器的响应
  • 我已将问题改写为不那么冗长,但是如果上下文丢失,请修改标题,使其简短,并清楚地描述问题。
  • 感谢@KraangPrime 的帮助

标签: php jquery json ajax mysqli


【解决方案1】:

您需要在数组中收集所有国家/地区,然后回显 json。

$countries = [];
if(isset($_REQUEST['country'])){
    $conn=new MySQLi("localhost","root","","newdb");
    $myQuery="select * from country";

    $result=$conn->query($myQuery);

    while($country=$result->fetch_assoc()){
        $countries[] = $country;
    }
     echo json_encode($countries);
}

同样在 js 中发送国家作为参数。

...
method:"POST",
data: {country : true},
...

【讨论】:

  • 非常感谢@anwer 兄弟,它确实有效。我非常感谢你的帮助 thnx :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 2015-07-25
相关资源
最近更新 更多