0

Ajax経由でjson配列をリモートPHPサーバーに送信しようとしましたが、「ParserError」しか取得しません。ありがとうございました

アヤックス

$.ajax({
    dataType : 'jsonp',
    jsonp : 'jsonp_callback',
    data : {
        button : "test"
    },
    url : 'http://www.my-server.de/file.php',
    success : function(sqlArray) {
        alert(sqlArray);
    },

    error : function(jqXHR,textStatus,errorThrown) {
        alert(jqXHR);
        alert(textStatus);
        alert(errorThrown);
    }
});

PHP

 <?php
 echo "Button ist";
 echo  $_GET['button'];
 ?>

アップデート:

ありがとうございます。json オブジェクトの値だけを書きたいと思います。これで送信は機能しますが、php サイトは値を書き込みません。

function postJSON(){
$.ajax({
    type: "GET",
    url: "http://www.my-server.de/file.php",
    data: { 'dataString': "juhu" },
    cache: false,
    success: function()
        {
            alert("Order Submitted");
        },
        error: function()
        {
            alert("Error");
        }
    });

php:

<?php 
 echo "Value is:";
 echo $_GET['dataString']; ?>
4

1 に答える 1

0

json_encode() だけでは機能しません。jsonp をデータ型として使用しているため、コールバック関数を返す必要があります-これは私が使用するものです:

public static function renderJsonp($object) {
        header('Content-Type: text/javascript; charset=utf8');
        header('Access-Control-Allow-Origin: *');
        header('Access-Control-Max-Age: 3628800');
        header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');

        header('Content-type: application/json; charset=utf-8');

        $callback = "callback";
        if(isset($_GET['callback'])) $callback = trim($_GET['callback']);

        echo $callback . '(' . json_encode($object) . ')';
    }

オブジェクトを作成するには stdClass() を使用します。

于 2013-07-17T13:08:46.727 に答える