繁体   English   中英

Ajax PHP Jquery - 回显数据

[英]Ajax PHP Jquery - echo-ing back data

我无法从我的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;

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

使用$_REQUEST它将处理GETPOST

$item1 = $_REQUEST['test'];

默认情况下,ajax请求是GET类型,要么指定expilicitly type

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

或使用$_GET类的

item1 = $_GET['test'];

    echo $item1;

正确的方法:

<?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>

这对我有用

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代码(test.php)

<?php

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

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

如果您尝试从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";
?>

执行警报框

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

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

添加POST方法:

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

你忘了将POST / GET方法用于将数据发送到php文件。

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

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

暂无
暂无

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

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