从PhoneGap向远程php服务器发送Json

从PhoneGap向远程php服务器发送Json,php,ajax,Php,Ajax,我尝试通过Ajax将json数组发送到远程PHP服务器,但只得到一个“ParserError”。 多谢各位 阿贾克斯 PHP php: 仅json_encode()无法完成此任务。由于您使用jsonp作为数据类型,因此需要返回回调函数-我使用的是: public static function renderJsonp($object) { header('Content-Type: text/javascript; charset=utf8'); header(

我尝试通过Ajax将json数组发送到远程PHP服务器,但只得到一个“ParserError”。 多谢各位

阿贾克斯

PHP

php:


仅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()创建对象。

如果您正在等待json数据,php脚本不会返回任何内容。尝试至少回显以下内容:
echo json_encode(array())
查看它是否仍然抛出错误。
 <?php
 echo "Button ist";
 echo  $_GET['button'];
 ?>
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 
 echo "Value is:";
 echo $_GET['dataString']; ?>
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) . ')';
    }