Ajax PHP Jquery - 回显数据

时间:2011-11-25 06:57:28

标签: php javascript jquery ajax

我无法从PHP文件中恢复数据。我想我并不真正理解这个jquery函数的数据参数所以我只是去了一些教程。

Jquery的

$.ajax(
    {
        url: 'test.php',
        dataType: 'text',
        data: {test: '1'},
        success: function(data)
        {
            window.alert(data);
        }
    })

根据我的理解,test:声明了php中使用的变量,1是该变量中的值。但我不完全确定......

这是我的PHP

$item1 = $_POST['test'];

    echo $item1;

现在它应该提醒那个值,所以我知道它至少会返回一些东西但是在警报中它只是空白所以我在某个地方失去了价值,但在哪里?

8 个答案:

答案 0 :(得分:16)

使用$_REQUEST它将处理GETPOST

$item1 = $_REQUEST['test'];

默认情况下,ajax请求为GET类型,指定为type的expilicitly

$.ajax(
    {
        url: 'test.php',
        type:'POST'
        dataType: 'text',
        data: {test: '1'},
        success: function(data)
        {
            window.alert(data);
        }
    })

或使用$_GET之类的

item1 = $_GET['test'];

    echo $item1;

答案 1 :(得分:5)

正确方法:

<?php
$change = array('key1' => 'blabla', 'key2' => '12432rr424234');
echo json_encode($change);
?>

然后是jquery脚本:

<script>
$.get("location.php", function(data){
  var mydata= $.parseJSON(data);
  var art1 = mydata.key1;  // <-----------  access the element
});
</script>

答案 2 :(得分:1)

这对我有用

ajax代码

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
        <title>Test Page</title>
        <script>
            $.ajax(
                    {
                        url: 'test.php',
                        type: 'POST',
                        dataType: 'text',
                        data: {latitude: '7.15588546', longitude: '81.5659984458'},
                        success: function (response)
                        {
                            alert(response);
                        }
                    });
        </script>
    </head>
    <body>
    </body>
</html>

php code(test.php)

<?php

$lat = $_REQUEST['latitude'];
$lon = $_REQUEST['longitude'];

echo 'latitude- '.$lat . ', longitude- ' . $lon;
?>

答案 3 :(得分:0)

添加POST方法:

$.ajax(
    {
        url: 'test.php',
        dataType: 'text',
        type: 'post',
        data: {test: '1'},
        success: function(data)
        {
            window.alert(data);
        }
    })

答案 4 :(得分:0)

您忘记将POST / GET方法用于将数据发送到您的php文件。

$.ajax(
    {        
        type:'POST',        
        url: 'test.php',
        dataType: 'text',
        data: {test: '1'},
        success: function(data)
        {
            window.alert(data);
        }
    })

答案 5 :(得分:0)

 just add "type" POST or GET     

 //example
 $.ajax(
{
    url: 'test.php',
    type: 'POST',
    data: {test: '1'},
    success: function(data)
    {
        window.alert(data);
    }
})

答案 6 :(得分:0)

如果您尝试从php文件中获取信息,我认为数据字段不是必需的。这就是我所拥有的。

                $.ajax(
                {
                    url: 'response.php',
                    type: 'get',
                    dataType:'text',
                    success: function(data){
                        window.alert(data);
                    }
                }

就php来说..

<?php
   echo "1";
   echo "2";
   echo "3";
   echo "4";
   echo "5";
   echo "6";
   echo "7";
   echo "8";
?>

Alert box on execution

答案 7 :(得分:0)

在这方面一直在苦苦挣扎,我的问题不是在js上,而是在php脚本中:错误报告被设置为E_ALL - 这显然阻止它将数据返回到AJAX调用。我的猜测是它会在最终回声之前打印通知并阻止它。奇怪的是它没有在我设置的日志中打印任何通知,以便深入了解。

将其更改为E_ERROR,现在就像魅力一样。