2

私のChrome拡張機能では、これを次のように呼んでいます。

jsonPost = {
    email:"phil@demo.demo",
    password:"demo",
    content: $('#selected_text').val(), 
    notification_type: $('#notification_type').val(),
    name:$('#notification_name').val()
}

$.post('http://localhost:3000/api/create.json', jsonPost, 
        function (data) {
            console.log("type of data = " + typeof(data));
            console.log("data in function = " + data);
            }

データはサーバーに到達します。ただし、コンソールでは応答が失われます---データのタイプ=文字列---関数内のデータ=

そのため、何らかの理由で応答が返されません。ブラウザから動作します。私もcnn.comに対してgetを実行しようとしましたが、応答がありませんでした。

何か案は?

ありがとう

4

3 に答える 3

1

クロスサイトスクリプティングの制限に直面していますか?「localhost」にあるが拡張機能では機能しないページで機能する場合は、拡張機能のデフォルトのセキュリティコンテキスト外のものにアクセスするためにChromeの許可を求める必要がある可能性があります。拡張機能のクロスオリジンパーミッションのリクエストに関するGoogleのアドバイスが役立つかどうかを確認してください。

于 2010-04-20T13:47:02.187 に答える
1

投稿タイプとしてjsonを使用する必要があります。省略形の場合は、次のように使用します。

$.post(url, data, function(result) {

}, 'json');
于 2010-04-20T13:38:43.193 に答える
1

jQueryは、MIMEタイプやその他の要因に基づいてデータを解釈する方法について「最善の推測」を行いますが、推測が間違っている可能性がありますか?データ型を指定する4番目のパラメーターを呼び出しに追加することで、強制的に指定できます。たとえば、「json」、「text」、「html」...ドキュメントの完全なリストです。ajax

于 2010-04-20T13:39:51.457 に答える