2012-04-01 14 views
0

単純な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/*" 
    ] 
} 
+0

どのような種類のデバッグを試しましたか? – dldnh

+0

@dldnh私は実際に何を試してみるか分からない。私は、ajaxコールが通過するが、投稿データは受信されないことを知っている。 POSTではなくGETを使用すると、正常に動作します... – Shawn

答えて

1

あなたはJSONへの配列をエンコードするためにjson_encode($array)を使用することができます。

$response['success'] = $success; 
$jsonStr = json_encode($response); 

あなたのajax PHPファイルがキャッシュされていないことを確認することも重要です。

上記
header("Expires: Thu, 15 Dec 2011 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 

答えではないかもしれないが、私はそれはあなたには、いくつかのバグの可能性を防ぐのに役立ちます願っています。

+0

ありがとう、これは良いものです。私の問題は解決しません。 – Shawn