電子書籍の厳選無料作品が豊富!

twitter @anywhereのtweetboxからのつぶやきを、ajaxでPHPにPOST送信して、MySQLのDBにデータを挿入したいのですが、値の渡し方がうまくできません。jQueryを使用しています。

<script type="text/javascript">
<!--
twttr.anywhere(
function(twitter) {
twitter("#tweetbox").tweetBox({
counter: true,
height: 100,
width: 350,
label: "Tweet",
defaultContent: "RT @xxxxx",
onTweet: function (tweet, renderedTweet) {
$.ajax({
type: "POST",
url: "insert.php",
data: "data=textTweet",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
}
});
}
);
-->
</script>

textTweetにつぶやいた内容が入っているのですが、
この、「data: "data=textTweet",」という部分の正しい書き方がわかりません。
この状態だと、「textTweet」という文字がDBに挿入されるので、ここを正しく書けていないのが問題だとはわかるのですが、どうしたら正しい書き方になるのかわからずにいます。

色々、やってみたのですが、書き方の間違いがどうしても分かりません。教えてください。 よろしくお願いします。

A 回答 (3件)

さらに、以下のパターン全部OKみたいでした。



data:{"data":textTweet}

data:{data:textTweet}

data:"data="+textTweet

data:textTweet
    • good
    • 0
この回答へのお礼

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>

お礼日時:2010/08/20 04:39

NO.1です。

まちがえちゃいました。修正です。

オブジェクトのプロパティ名は、文字列です。

data:{"data":textTweet},

です。すみません
    • good
    • 0
この回答へのお礼

yyr446さん、ありがとうございます。
data:{"data":textTweet},も試してたのですが、できてなかったんです。

また、
$.ajax({の直前に
alert( "Data : " + textTweet );
ってしてみたのが、ウィンドウ自体出ないので別に原因があるのかもと思えてきました・・・

お礼日時:2010/08/19 11:33

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>
でも入れて確認してみましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!