0

クラス内にこのphp関数があり、jsonデータを返します

function getPhotoDetails( $photoId ) {
   $url = $this::APP_URL . 'media/' . $photoId . $this::APP_ID;
   return $this->connectToApi($url);
}

そしてこのajaxリクエスト

function getPhotoDetails( photoId ) {
    $.ajax({
        type: "GET",
        cache: false,
        url: 'index.php',
        success: function (data) {
               console.log(data);
        }
    });
}

問題は、php関数を呼び出してjsonデータを取得する方法です。

解決策: 皆さんとPoonamに感謝します

正しいコード

PHP:phpファイルに新しいオブジェクトインスタンスを作成しました

$photoDetail = new MyClass;
if(isset($_REQUEST['image_id'])){
  $id = $_REQUEST['image_id'];
  echo (($photoDetail->getPhotoDetails($id)));
}

JavaScript

function getPhotoDetails( photoId ) {

    $.ajax({
        type: "GET",
        cache: false,
        url: './instagram.php?image_id=' + photoId,
        success: function (data) {
            var data = $.parseJSON(data);
            console.log(data);
        }

    });
}
4

3 に答える 3

2

詳細を送信する必要があることを識別するために、いくつかのパラメーターを設定してみてください。たとえば、機能にフォトイドパラメーターが必要であると仮定します。

function getPhotoDetails( photoId ) {
    $.ajax({
        type: "GET",
        cache: false,
        url: 'index.php?sendPhoto=1&photoid=23',
        success: function (data) {
               console.log(data);
        }

    });
}

次にindex.phpチェックします(要件に応じて、必要なものは何でもフォトIDをチェックできます)

if(isset($_REQUEST['sendPhoto'])){
      $id = $_REQUEST['photoid'];
      return getPhotoDetails($id);
}
于 2012-09-20T14:47:03.830 に答える
1

スイッチケースを設置。php 関数を呼び出すように、関数名を GET または POST 変数として渡します。

于 2012-09-20T14:47:46.920 に答える
0

PHP 関数を呼び出すファイルが必要です。Ajax から PHP 関数を呼び出すことはできません。また、Tim G が指摘したように、適切なヘッダーを使用し、コードを JSON としてフォーマットし、戻り値をエコーする必要があります (関数がまだこれらの処理を行っていない場合)。

于 2012-09-20T14:42:47.220 に答える