- ベストアンサー
Ajaxを使ってTwitterのつぶやきをMySQLに挿入する方法
- Twitterのtweetboxからつぶやきを取得し、Ajaxを使ってPHPにPOST送信する方法を紹介します。
- jQueryを使用して、tweetboxから取得したつぶやきの内容をデータとして渡す方法を解説します。
- 渡すデータの書き方についてコードの例を示しながら、詳しく説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
さらに、以下のパターン全部OKみたいでした。 data:{"data":textTweet} data:{data:textTweet} data:"data="+textTweet data:textTweet
その他の回答 (2)
- yyr446
- ベストアンサー率65% (870/1330)
NO.1です。まちがえちゃいました。修正です。 オブジェクトのプロパティ名は、文字列です。 data:{"data":textTweet}, です。すみません
お礼
yyr446さん、ありがとうございます。 data:{"data":textTweet},も試してたのですが、できてなかったんです。 また、 $.ajax({の直前に alert( "Data : " + textTweet ); ってしてみたのが、ウィンドウ自体出ないので別に原因があるのかもと思えてきました・・・
- yyr446
- ベストアンサー率65% (870/1330)
data: "data=textTweet" だと、"data=textTweet"という文字列がそのまま、送信されるだけです。 普通は data:{} とオブジェクト変数の形で渡します。そのオブジェクト変数の プロパティ名が、POSTされるデータのパラメーター名になり、 そのプロパティ値が、そのパラメーターの値となります。 例えば data:{data:"hoge"} とすれば、PHP側では、 echo $_POST[data] =>hoge と参照できるはずです。 textTweetという変数につぶやいた内容が入っているならば、 data:{data:textTweet}, でいけるはずです。 デバッグのため、本当にtextTweetという変数につぶやいた内容が セットされているのを確認するために、 $.ajax({ の直前に alert(textTweet); を入れて確認してみましょう。 PHP側でも、最初に <pre> <?php print_r($_POST); ?> </pre> でも入れて確認してみましょう。
お礼
yyr446さんありがとうございます!!! もう一度見直して、新しく書き直したらできました! 色々試してちょこちょこ変えてるうちにおかしくなってたみたいで。。。 data:{"data":renderedTweet},でできました。 <script type="text/javascript"> <!-- twttr.anywhere( function(twitter) { twitter("#tweetbox").tweetBox({ counter: true, height: 100, width: 350, label: "@にTweet!", defaultContent: "RT @", onTweet: function (tweet, renderedTweet) { alert( "Data Saved: " + renderedTweet ); $.ajax({ type: "POST", url: "insert2.php", data:{"data":renderedTweet}, success: function(msg){ alert( "Data Saved: " + msg ); } }); } }); } ); --> </script>