2016-03-30 15 views
-1

私はcurlを使用して呼び出したいと思うajaxを使用していくつかのリクエストがあります。 AjaxのフォームデータがこのCURLフォームデータのPHP配列を使用してフォームデータを作成

q:user_id(367091) { 
    followed_by.after(10) { 
    count, 
    page_info { 
     end_cursor, 
     has_next_page 
    }, 
    nodes { 
     id, 
     is_verified, 
     followed_by_viewer, 
     requested_by_viewer, 
     full_name, 
     profile_pic_url, 
     username 
    } 
    } 
} 

ようにする必要があり、私はそれを書くために試してみると私のコード

$array_post= 
array(
    "q" => array(
     "" => "", 
    ), 
); 
curl_setopt($c, CURLOPT_POSTFIELDS, $array_post); 

があることができるfollowed_by.after私は、user_idのように埋めるために混乱しlilのビットを持っていることを ネストされた配列でこの書き込み? クラス/オブジェクト変数/ポインタのようなものを作る方法は、データの配列と独自の値を持つことができます。誰か助けてください

+0

質問は一切分かりません。 「クラス/オブジェクトをポインタのように作る方法」と「データの配列と独自の値を持つ」とはどういう意味ですか?バリューはデータではありませんか? –

+0

英語で私の悪いことを申し訳ありません。あなたはちょうどPHPの配列にそれを翻訳することができますか?つまり、user_idは配列の配列ですか? user_idの値= 367091それは配列要素の配列はfollow_by.afterですか?それに続いて、値= 10を持ち、count、arr page_info、arrノードのような要素を持っています。私が間違っている場合は私を修正します –

+0

@DawidFerenczyを忘れて –

答えて

1

答えは次のようにする必要があります。

$array_post= 
array(
    "q" => "user_id(367091) { 
    followed_by.after(10) { 
    count, 
    page_info { 
     end_cursor, 
     has_next_page 
    }, 
    nodes { 
     id, 
     is_verified, 
     followed_by_viewer, 
     requested_by_viewer, 
     full_name, 
     profile_pic_url, 
     username 
    } 
    } 
}", 
); 
$field_string = urldecode(http_build_query($array_post)); 
curl_setopt($c, CURLOPT_POSTFIELDS, $field_string); 
+0

ありがとうございます。しかし、ちょっとハードコーディングされた文字列が必要でした。実際に何を求めていますか?そのままサンプルリクエストをコピー&ペーストします。 –

+0

実際に私はそれが文字列としてだけであることを知っていませんでした、私はちょうど試用、エラー、グーグル、それは男が動作します。私はカールが配列の構造にあるべきだと思っていましたが、それはそのような方法でうまくいくはずです。私が尋ねてきたことは、ブラウザ開発者の入力ポストデータでxhrをコピーする方法です。そのため、私のWebサービスでは、@DawidFerenczyのようなことができます –

0

これはどうですか?

$test = array(
    'q:user_id(367091)' => array(
     'followed_by.after(10)' => array(
      'count' => '', 
      'page_info' => array(
       'end_cursor' => '', 
       'has_next_page' => '' 
      ), 
      'nodes' => array(
       'id' => '', 
       'is_verified' => '', 
       'followed_by_viewer' => '', 
       'requested_by_viewer' => '', 
       'full_name' => '', 
       'profile_pic_url' => '', 
       'username' => '' 
      ) 
     ) 
    ) 
); 

この出力はあなたが必要なもののようになります。

print_r(json_encode($test, JSON_PRETTY_PRINT)); 
+0

エラー文字列(48) "{"ステータス ":"失敗 "、"メッセージ ":"無効なパラメータ "}" –

+0

OK、その場合は、考えてみてください。これまでと同じ方法でパラメータがどのように見えるのか、何が違うのかチェックするのはどうでしょうか? –

関連する問題