Ajax PHP Jquery - エコーバックデータ

私は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;

今では値を警告することになっているので、少なくとも何かを戻していることはわかっていますが、アラートでは空白なのでどこかで値を失っていますが、どこで?

9

8 答え

use $_REQUEST it will handle both the GET and POST

$item1 = $_REQUEST['test'];

デフォルトでは、Ajaxリクエストは GET 型で、 type のようにexpayicitly

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

または $ _ GET のように使用します

item1 = $_GET['test'];

    echo $item1;
16
追加された
私はいつも顔で私を見つめている。しかし、それはデフォルトではGETだということを知っておいてよかったです。ありがとう!
追加された 著者 Howdy_McGee,
:)
追加された 著者 Rafay,
ドキュメントを読む api.jquery.com/jQuery.ajax
追加された 著者 robert,

正しい方法:

<?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>
5
追加された

これは私の仕事です

アヤックスコード

<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;
?>
1
追加された

POSTメソッドを追加する:

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

あなたはあなたのPHPファイルにデータを送信しているPOST/GETメソッドを置くのを忘れてしまった。

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

 //example
 $.ajax(
{
    url: 'test.php',
    type: 'POST',
    data: {test: '1'},
    success: function(data)
    {
        window.alert(data);
    }
})
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";
?>

実行中の警告ボックス

0
追加された

これはしばらくの間苦労していましたが、私の問題はjsではなくphpスクリプトにあります。エラー報告はE_ALLに設定されています。これは明らかにAJAX呼び出しにデータを返すことをブロックします。私の推測では、最後のエコーの前に通知を印刷し、すべてをブロックします。奇妙なことは、私がログの中に何か注意書きを印刷していないことです。

それをE_ERRORに変更し、今は魅力のように動作します。

0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript