単純なPOSTをWebサービスに送信しようとしていますが、サーバーがPOSTデータを取得していないようです。サーバがPOSTデータを受信しないのはなぜですか?
popup.js
$.ajax({
url: 'http://www.flags.99k.org/removeFlag.php',
type: 'POST',
data: "UID=6",
dataType: 'json'
}).done(function(response)
{
$('<p />').text('response: ' + response.success).appendTo($('body'));
});
- 私はポストが成功したことを意味する
1
、ことresponse.success
を期待しています:これはアヤックスです。 0
を取得することもできます。これは、mysql_query(...)
がfalseを返すことを意味します。- 代わりに
-1
が得られます。つまり、isset($_POST['UID'])
はfalseを返します。
.../removeFlag.php
<?php
include("DB.php"); // connects and selects database.
if(isset($_POST['UID'])) {
$sql_removeFlag = "DELETE FROM Flags WHERE UID = " . $_POST['UID'] . ";";
$success = mysql_query($sql_removeFlag);
$jsonStr = ("{ \"success\":\"" . $success . "\"}");
echo $jsonStr;
} else {
echo("{ \"success\": -1 }");
}
?>
私は= 6、( 'UID' データをフォーマットするさまざまな方法を試み{UID:6}、{ 'UID':6} 、...)しかし、何も働いていない。
ajaxはgoogle chrome拡張ポップアップから実行されますが、私はアクセス許可リストにターゲットアドレスを追加しました。
manifest.jsonを
{
"name": "Ajax POST",
"version": "1.0",
"description": "Ajax POST from popup on click.",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"flags.99k.org/*",
"http://flags.99k.org/*",
"http://www.flags.99k.org/*"
]
}
どのような種類のデバッグを試しましたか? – dldnh
@dldnh私は実際に何を試してみるか分からない。私は、ajaxコールが通過するが、投稿データは受信されないことを知っている。 POSTではなくGETを使用すると、正常に動作します... – Shawn