4
$('#loginForm').submit(function() {

        $("#loginsubmit",this).attr("disabled","disabled");
        var u = $("#loginemail", this).val();
        var p = $("#loginpassword", this).val();

        var postTo = 'http://www.example.com/login.php';

        if(u != '' && p!= '') {

        //navigator.notification.alert("not empty"+u, function() {});

                var apiurl = "http://www.mapyi.com/api/mapyi/client.php?"+"action=verlogin&pass="+p+"&email="+u;
                $.ajax({
                url: apiurl,
                dataType: 'jsonp',
                jsonp: 'jsoncallback',
                timeout: 5000,
                success: function(data){
                    navigator.notification.alert("not empty"+data);
                },
                error: function(msg){
                    navigator.notification.alert("ERROR"+msg);
                }
            });

        } /* end if u and p */

         //hide();
         //$('#homepage').show();
         return false;
     });

phonegap.xmlにアクセスを追加しました。また、androidのmanifest.xmlを更新します。phpの応答はjsonにあります:

               /* PHP CODE SErver side */


/* output in necessary format JSON */

header('Content-type: application/json');
echo json_encode(array('posts'=>$ret));

何が欠けているのかわかりません。常にERRORダイアログボックスが表示され、ERROR[オブジェクト][オブジェクト]が出力されます。

**解決済み自分で解決しました。phpサービスにヘッダー情報を追加していませんでした。header('Access-Control-Allow-Origin:'。$ _ SERVER ['HTTP_ORIGIN']); header('Cache-Control:no-cache、must-revalidate'); CODERDECODERENCODERに感謝します**

4

1 に答える 1

0

あなたはリクエストコードが完璧に見えています。サーバー側でjsonコールバックを見逃したと思います。このようにサーバーデータを返すだけです。

echo $_GET['jsoncallback'] .json_encode(array('posts'=>$ret));
于 2012-06-22T08:53:53.013 に答える