0

私は問題があります:

データをphpスクリプトに送信し、次にPHPスクリプトがデータベースQUERYからJSONデータを返すJS関数があり、PHPスクリプトから返された値を取得したいと考えています。

<script type="text/javascript">
    <!--

    jQuery('#wysz2').submit(function() {


        var myData = {
            "rodzaj_konta": jQuery('#rodzaj_konta').val(),
            "miejscowosc": jQuery('#miejscowosc').val()
        };

        jQuery.ajax({
            url: 'http://somescript.php?action=results',
            type: 'GET',
            data: myData,
            dataType: 'json',
            beforeSend: function() {
                jQuery('#loading').html('<p>loading...</p><img src="loading.gif" />'); //Loading image during the Ajax Request
            },
            error: function(xhr, textStatus, errorThrown) {
                alert("Error: " + (errorThrown ? errorThrown : xhr.status));
            },
            contentType: "application/json; charset=utf-8",
            success: function(data) {

                alert(data);
            }


        });

        return false;

    });
    //-->​
</script>

以下を使用して適切な形式でデータを返す PHP スクリプト:

header('Content-Type: application/json');
echo json_encode($data);

アラート (データ) を送信しようとすると、常に null が返されます。

この返された JSON データを取得する方法は?

編集:

送信方法をPOSTに変更したのでおかしいです。

JSON を返す PHP:

[{"nazwa":"Test","nazwa_firmy":"Testowa","ulica":null,"numer_domy":"2A","numer_mieszkania":"11","kod_pocztowy":"00-189","miejscowosc":"Warszawa","telefon":"213-123-132","nip":"112-312-31-31","regon":"231232133","adres_www":"http:\/\/www.gogl.epl","rodzaj_uzytkownika":"serwis"}]

しかし、私の JQUERY AJAX スクリプトはまだ null を返します。

したがって、私のスクリプトは次のようになります。

<script type="text/javascript">
                <!--

                    jQuery('#wysz2').submit(function() {




                    var myData = {
                       rodzaj_konta: jQuery('#rodzaj_konta').val(),
                        miejscowosc: jQuery('#miejscowosc').val()
                    };



                    jQuery.ajax({
                        url: 'http://somedomain.com/skrypt.php?action=wyniki_wyszukiwania',
                        type: 'GET',
                        data: myData,
                        dataType: 'json',
                        contentType: "application/json; charset=utf-8",
                        jsonp: "jsoncallback",
                        beforeSend:  function() {
                            jQuery('#loading').html('<p>ładowanie...</p><img src="loading.gif" />');//Loading image during the Ajax Request
                        },
                        error: function (xhr, textStatus, errorThrown) {
                            alert("Error: " + (errorThrown ? errorThrown : xhr.status));
                        },
                        success: function (data) {
                            alert(JSON.stringify(data));
                            console.log(data);
                        }

                    });

                    return false;

                });
                //-->
                </script>

何か案は ?

4

3 に答える 3

0

間違った方法で送信しているときに変数を作成していますオブジェクト名のセミコロンが定義に従って存在しません

これを試して

var myData = {
           rodzaj_konta: jQuery('#rodzaj_konta').val(),
            miejscowosc: jQuery('#miejscowosc').val()
        };

そしてあなたのjsonデータに警告しながら試してみてください

alert(JSON.stringify(your_json_obj));
于 2012-12-18T08:56:11.693 に答える
0

結果をオブジェクトに警告してみてください...

{"responseCode": "001"、 "responseMsg":"success"}の形式のjsonの場合を意味します

次に、data.responseCodeにアラートを送信します

于 2012-12-18T08:56:52.773 に答える
0

ajax関数が成功したら、次のようなものを試してください var objParams1 = $.parseJSON(data); console.log(objParams1); alert(objParams1.Testowa)

于 2012-12-18T11:33:41.900 に答える