2

だから、私はWeb開発にかなり慣れていないので、何かに少し問題があります。Firefox 拡張機能/ブックマークレットから、自分が制御している PHP ページに POST リクエスト (または実際には、これを実行できるメソッド) を送信できるようにしたいと考えています。

クロスオリジンのリソース共有について読んでいますが、まだ機能させることができていないため、少しのガイダンスを使用できます。

jQuery ajaxリクエストでこれが可能になるようですが、おそらく私はこれが初めてであるために、まだ機能していません。

私は最近これを読んでいて、正しい答えがたくさんあるように見えるので、頭の中ですべてをまとめるのに苦労しています.

編集:

だから私が持っているPHPページは次のように設定されています:

    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Methods: POST");

addLink($_POST['username'], $_POST['password'], $_POST['URL']);

そして、その関数は、ユーザー名/パスワードに基づいて URL をデータベースに追加するだけです。それは問題ではありません。

そして、同じドメインからのリクエストでこれが機能するようになりました。

$(document).ready(function() {
   $("a").click(function() {
      $.post("sendLinkInfo.php", { username: "<username here>", 
       password: "<password here>", URL: window.location.href },

   });
 });  

問題は、任意のブックマークレット/Firefox 拡張機能からクロスドメインで実行することです。

4

3 に答える 3

1

jQueryでかなり簡単です

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" },
  success: function(msg) {
      alert( "Data Saved: " + msg );
  }
});
于 2012-06-23T16:13:02.933 に答える
1

クロスドメインの問題については、次のように使用できます。

$("a").click(function() {
    $.ajax({
        type: 'POST',
        url: 'sendLinkInfo.php',
        crossDomain: true,
        data: {
            username: "<username here>",
            password: "<password here>",
            URL: window.location.href
        },
        dataType: 'html',
        success: function(data) {
           console.log(data);
        },
        error: function() {
            alert('POST failed.');
        }
    });
});
于 2012-06-23T16:24:43.027 に答える
1

jQueryのドキュメントを見てください:

var menuId = $("ul.nav").first().attr("id");
var request = $.ajax({
  url: "script.php", //Modify this part
  type: "POST",
  data: {id : menuId},
  dataType: "html"
});

request.done(function(msg) {
  $("#log").html( msg );
});

request.fail(function(jqXHR, textStatus) {
  alert( "Request failed: " + textStatus );
});

これはクロスドメインで機能するはずです。

于 2012-06-23T16:15:28.677 に答える