2016-03-19 17 views
0

のプロパティを取得しようとすると、私はAngularJSに工場を使用していますが、スクリプトはPHPのお知らせ:</p> <p><a href="https://i.stack.imgur.com/FAInE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FAInE.png" alt="enter image description here"></a></p> <p>マイPHP:非オブジェクトエラー

app.factory('GetCountryService', function ($http, $q) { 
     return { 
      getCountry: function(str) { 
       // the $http API is based on the deferred/promise APIs exposed by the $q service 
       // so it returns a promise for us by default 
       var url = "https://www.bbminfo.com/sample.php?token="+str; 
       return $http.get(url) 
        .then(function(response) { 
         if (typeof response.data.records === 'object') { 
          return response.data.records; 
         } else { 
          // invalid response 
          return $q.reject(response.data.records); 
         } 

        }, function(response) { 
         // something went wrong 
         return $q.reject(response.data.records); 
        }); 
      } 
     }; 

    }); 

私の出力応答スクリーンショットでありますスクリプト:

<?php 



header("Access-Control-Allow-Origin: *"); 

header("Content-Type: application/json; charset=UTF-8"); 



session_start(); 


$ip = $_SERVER['REMOTE_ADDR']; 

$dbname = "xyzData"; 
$link = mysql_connect("localhost", "Super", "Super") or die("Couldn't make connection."); 
$db = mysql_select_db($dbname, $link) or die("Couldn't select database"); 

$uid = ""; 
$txt = 0; 
$outp = ""; 

$data = file_get_contents("php://input"); 
$objData = json_decode($data); 

if (isset($objData->token)) 
    $uid = mysql_real_escape_string($objData[0]->token, $link); 
else if(isset($_GET['uid'])) 
    $uid = mysql_real_escape_string($_GET['uid']); 
else 
    $txt += 1; 

$outp ='{"records":[{"ID":"' . $objData->token . '"}]}'; 
echo($outp); 

?> 

私はerror_logメッセージを持っています

[18日 - 3月 - 2016年21時40分40秒アメリカ/デンバー] PHPのお知らせ:

/home/sample.phpで非オブジェクトの プロパティを取得しようとすると、私は両方$objData->tokenを試してみましたが、 $objData->token[0]。しかし、私は同じエラー通知を受け取りました。親切に私はポストNotice: Trying to get property of non-object errorで提供される解決策を試してみました

...私を助ける、しかし、それはそう失敗し、私はこの記事のために50個のバウンティポイントを上げました。私はそのポスト質問https://stackoverflow.com/review/suggested-edits/11690848の私の要件を更新しようとした、しかし、私は新しい質問として、私の要件を掲示して編集が拒否されました。親切に私を助ける...

答えて

0

AngularJSは、GET要素を通過する代わりに、任意のオブジェクトを送信していません。

は単に$_GET['uid']を使用して値にアクセス

0

$ objDataは対象ではないようです。

は$ objData [ 'トークン']をしてみてください。

またはオブジェクト$ objDataをエコーし​​て、その構造が何であるかを把握してみてください。

+0

その動作していない... –

+0

オブジェクトをエコーし​​ようとしたのですか?または何のサンプルを与える file_get_contents( "php:// input");戻る。 – Amit

+0

echo($ objData ['token'])しようとすると、エラー通知が返されます。エコー($ objData)を試してみると、エラーなしで何も返されません。 –