繁体   English   中英

jQuery AJAX PHP发布方法问题

[英]JQuery AJAX PHP post method issue

我正在尝试通过AJAX将HTML文件中的值发布为请求,并以JSON格式的字符串作为PHP的响应。

我做了以下

Javascript文件:

$(document).ready(pageLoad);

function pageLoad()
{
     $("#submit").click(submitClick)
}

function submitClick()
{
    var data = {Year:"2005"};
    $.getJSON("db/connect.php", data, fetchData);
}

function fetchData(data)
{
    $.each(data, function(index, element) { 
        $("#content").append(data[index].Name + "<br />");                                                      
            })
}

PHP文件

<?php
$server = "localhost";
$user = "amey";
$pass = "";
$database = "education";

echo $_POST["Year"];

    $conn = mysql_connect($server, $user, $pass) or die("Unable to connect to MySQL");
    mysql_select_db($database, $conn);
    $query = "select * from BabyNames";
    $result = mysql_query($query) or die(error_get_last());

    $json = array();

    while($row = mysql_fetch_array($result))
    {
        $json[] = $row; 
    }

    echo json_encode($json);
    mysql_close($conn);
?>

我无法在PHP文件中检索Year值。 我也尝试过使用$ .post和$ .ajax函数。 在$ .ajax函数中,当我删除dataType:“ json”时,post方法有效。

如果您的php代码工作正常,请更改您的代码。

 $(document).ready(function() {
    var pageLoad = function() {
        $("#submit").click(function(){
          submitClick();
        })
    });
    pageLoad();
 });

如果要单击“ #submit”提交表单/数据,则无需pageLoad函数

 $(document).ready(function() {
        $("#submit").click(function(){
          submitClick();
        });
    });
 });

$ .getJSON()方法执行HTTP GET,而不执行POST。 您需要使用$ .post()。

$.post(url, dataToBeSent, function(data, textStatus) {
  //data contains the JSON object
  //textStatus contains the status: success, error, etc
}, "json");

单击此处获取解决方案更多解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM