2017-03-09 6 views
1

index.htmlをPhoneGapのは、Ajaxリクエストのリターンを得るコンテンツ

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
     <title>Blank App</title> 
     <script src="assets/js/jquery-3.1.1.min.js"></script> 
    </head> 
    <body> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script> 
      window.onload = function(){ 
       $.ajax({ 
        url: "ajax/app.php", 
        type: "GET", 
        datatype:"text", 
        success: function(result){ 
         $("#main_div").html(result); 
        } 
       }); 
      } 
     </script> 

     <p id="main_div"> Hello World </p> 
    </body> 
</html> 

app.php

<?php 
    header(Access-Control-Allow-Origin: *); 
    header('Access-Control-Allow-Methods: GET, POST'); 
    echo "ok"; 
?> 

config.xmlの

コメントデベロッパーコンソールで要求

<!--?php 
    header(Access-Control-Allow-Origin: *); 
    header('Access-Control-Allow-Methods: GET, POST'); 
    echo "ok"; 
?--> 

AJAXリターンを返す

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> 
    <name>Test</name> 
    <description> 
     A blank PhoneGap app. 
    </description> 
    <author email="[email protected]" href="http://phonegap.com"> 
     PhoneGap Team 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <plugin name="cordova-plugin-whitelist" spec="1" /> 
</widget> 

は要求 コメントと私はポストするAJAXタイプを変更した場合はエラーを与える:POST http://ip:3000/ajax/app.php 404(見つかりません) ヘルプお願いします !

+1

お使いの携帯電話上でPHPインタプリタを実行していますか?私は推測していない。 ''は、携帯電話で動作するWebサーバーが使用するPHPインタプリタによって取り出され、内容に置き換えられない限り、HTMLコメントとして扱われます。単に「ok」と言うファイルを持っていないのはなぜですか?あなたは本当にあなたの携帯電話でPHPを実行する必要がありますか? **または**はあなたの電話のローカルファイルではないapp.phpですか?その場合、 'index.html'はローカルファイルですか?そうでない場合は、すべてのリソースがリモートである場合、どのようにPhoneGapを使用していますか? – apsillers

+0

私は実際に私のコンピュータのブラウザとPhoneGapのWindowsアプリケーションを使って実行しています。私はPhoneGapアプリケーションがWAMPのようなサーバーのように動かなければならないと思いますか?それはちょうどここに 'ok'の例ですが、私はPHP @apsillersを実行する必要があります –

+1

PhoneGapは**サーバーではありません**;それは形や形を問わずPHPを解析しません。 PHPを呼び出す必要がある場合は、それらのスクリプトをPHPを実行できるバックエンドサーバーに置かなければなりません。 –

答えて

0

問題の原因は2つあります。

1.)あなたのphonegap wwwフォルダ内にPHPファイルがある場合、これは間違っています。あなたは、PHPファイルをサーバ上でホストする必要があります。あなたは1つを支払うか、そこにあなたのPHPファイルを置くことができますか、代わりにxamppのようなプログラムをダウンロードしてあなたのコンピュータ上のPHPサーバを実行し、あなたの携帯電話からあなたのWiFi接続を介してサーバーに接続することができます。 ajaxのURLはhttp://192.168.0.4/ajax/file.phpのようになります。 192.168.0.4はXamppサーバーを実行しているコンピュータのIPアドレスです。xamppサーバーをホストしているコンピュータでコマンドプロンプトを開き、ipconfig/allを実行してローカルIP4アドレスを使用することで、このipを取得できます。

2.)あなたは完全なIPを入力していませんが、サーバー上でホストしています。

AJAX/app.php =>間違っ

http://ipaddress/ajax/file.php =>右

J

関連する問題