ホームページ > バックエンド開発 > PHPチュートリアル > phpカールで戻り値が取得できません

phpカールで戻り値が取得できません

WBOY
リリース: 2016-06-20 09:37:03
オリジナル
2964 人が閲覧しました

サーバー側関数
function order_kb(){
$expressodd[0]['odd']='560860393435';
$expressoddjson = json_encode($expressodd);
return $ Expressoddjson ;
}

クライアントは php ファイルを要求します
$post_data = array () ;
$url = 'http://www.test.com/ Index.php?m=user&a=order_kb' ;
$o = "" ;
foreach ($post_data as $k=>$v)
{
$o.="$k =".urlencode($v)."&";
}
$data=substr($o,0,-1);
$ch =curl_init();
curl_setopt($ ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result =curl_exec($ch);
print_r(json_decode($result,TRUE)); (json_decode($result,TRUE)[0]['odd']);//結果を確認するには出力してください
?>
戻り値を取得できないのはなぜですか?印刷されたページが空白です



ディスカッション (解決策) への返信 この Web サイトに初めてアクセスすると、次の JS コードが実行されます
実行をシミュレートできない場合、実際のデータを取得することはできません

この Web サイトは、訪問中に次の js コードが実行されます

function setCookie(c_name, value, expiredays) {            document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + expiredays) + ";path=/";}function getHostUri() {            var loc = document.location;                    return loc.toString();}var exdate=new Date();exdate.setDate(exdate.getDate()+1);setCookie('DOAAuthReferrer', document.referrer, exdate.toUTCString());setCookie('DOADFgsjnrSFgsg329gaFGa3ggs9434sgSGS43tsgSHSG35', '#e25d0c3c68dea6df48ffe0664f9d86d24c31ff1d#FLBN#1467097484#1739593330#', 'Tue, 28 Jun 2016 07:04:44 GMT');try {      location.reload(true);  } catch (err1) {      try {          location.reload();      } catch (err2) {      	location.href = getHostUri();      }  }
ログイン後にコピー
ログイン後にコピー
実行をシミュレートできない場合、実際のデータは確実に取得できません

その URL は何気なく書きました

じゃあ、君は退屈すぎる

function setCookie(c_name, value, expiredays) {            document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + expiredays) + ";path=/";}function getHostUri() {            var loc = document.location;                    return loc.toString();}var exdate=new Date();exdate.setDate(exdate.getDate()+1);setCookie('DOAAuthReferrer', document.referrer, exdate.toUTCString());setCookie('DOADFgsjnrSFgsg329gaFGa3ggs9434sgSGS43tsgSHSG35', '#e25d0c3c68dea6df48ffe0664f9d86d24c31ff1d#FLBN#1467097484#1739593330#', 'Tue, 28 Jun 2016 07:04:44 GMT');try {      location.reload(true);  } catch (err1) {      try {          location.reload();      } catch (err2) {      	location.href = getHostUri();      }  }
ログイン後にコピー
ログイン後にコピー

じゃあ、君は退屈すぎる

実際のリクエスト $url = 'http://www.danhaoxia.com/index.php?m=user&a=order_kb' ;ぜひご覧ください

はい

BOMヘッダーはなく、jsonの痕跡はまったくありません

$url = 'http://www.danhaoxia.com/index.php?m=user&a=order_kb' ;echo file_get_contents($url);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


はい

BOM ヘッダーがありません。つまり、json の影がまったくありません。

PHP を勉強したばかりですが、戻り値をサーバー側で処理する必要がありますか?

$url = 'http://www.danhaoxia.com/index.php?m=user&a=order_kb' ;echo file_get_contents($url);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


はい

BOM ヘッダーは言うまでもなく、json の痕跡はまったくありません

これは、追加したばかりの印刷コンテンツのテストになるはずですサーバーは削除されました。

$url = 'http://www.danhaoxia.com/index.php?m=user&a=order_kb' ;echo file_get_contents($url);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


BOM ヘッダーは言うまでもなく、json の影はまったくありません

サーバー側関数

$url = 'http://www.danhaoxia.com/index.php?m=user&a=order_kb' ;echo file_get_contents($url);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


削除されましたが、BOM ヘッダーだけが残っています

order_kb 関数をどのように呼び出しましたか?

function order_kb(){    $expressodd[0]['odd']='560860393435';    $expressoddjson = json_encode($expressodd);    return $expressoddjson;}
ログイン後にコピー
削除されましたが、BOM ヘッダーだけが残りました。

order_kb 関数をどのように呼び出しましたか?


クライアントが php ファイルをリクエストします


削除されましたが、BOM ヘッダーだけが残っています
order_kb 関数を呼び出すにはどうすればよいですか?
<?php$post_data = array () ;$url = 'http://www.test.com/index.php?m=user&a=order_kb' ;$o = "" ;foreach ($post_data as $k=>$v){    $o.="$k=".urlencode($v)."&";}$data=substr($o,0,-1);$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);$result = curl_exec($ch);curl_close($curl);print_r(json_decode($result,TRUE));print_r(json_decode($result,TRUE)[0]['odd']);//打印出来看结果?>
ログイン後にコピー
クライアントは PHP ファイルをリクエストします


order_kb はサーバー側関数ではありませんか?どうやって呼んだの?



order_kb はサーバー側の関数ではないでしょうか?どうやって呼んだの?
<?php$post_data = array () ;$url = 'http://www.danhaoxia.com/index.php?m=user&a=order_kb' ;$o = "" ;foreach ($post_data as $k=>$v){    $o.="$k=".urlencode($v)."&";}$data=substr($o,0,-1);$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);$result = curl_exec($ch);curl_close($curl);print_r(json_decode($result,TRUE));print_r(json_decode($result,TRUE)[0]['odd']);//打印出来看结果?>
ログイン後にコピー

thinkphp フレームワークを使用すると、URL http://www.danhaoxia.com/index.php?m=user&a=order_kb はその関数

を呼び出すことができますが、データは返されません。 ajaxモードをオンにしていませんか?

しかし、彼はデータを返しませんでした。ajax モードをオンにしましたか?
いえ、戻り値が取得できない原因が分かりません

ajaxモードをオンにしていない場合、order_kbの戻り値はどうやって出力すればよいのでしょうか?

マニュアルも読まないんですか?

ajax モードを有効にしない場合、order_kb の戻り値はどのように出力されますか? マニュアルも読まないんですか?

どうやって開けますか?習ったばかりでまだ理解できません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート