0

私は変更時にajaxを介してデータを投稿する簡単な選択をしました。同じページで POST 配列からデータを取得したいのですが、post 配列が空です。これがコードです。

Javascript

$('.product-selectbox').change(function() {
    var select_id = $(this).attr("id");
    var presentkort_type = $(this).val();
    presentkort_type = presentkort_type;
    alert(presentkort_type);
    //alert("id is "+id);
    var request =  $.ajax({
        url : "cashregister",
        type : "POST",
        data : {
            prod_id : select_id, presenkort : presentkort_type
        },
        dataType : "html"
    });
    request.done(function(msg) {
        $('#data').html(select_id);
        console.log(select_id);
        console.log(presentkort_type);
        location.reload(true);
    });
    request.fail(function(msg) {});
});

PHP

if (isset($_POST['prod_id'])) {
    $product_id = (int)$_POST['prod_id'];
    print "product id is ".$product_id;
} else {
    print "no data";
    $product_id = (int)$_POST['prod_id'];
}
4

4 に答える 4

2

サーバーにオブジェクトを投稿していたときにも、同様の問題が発生しました。私のコンテンツが実際にリクエスト本文に渡されることが判明しました。

コンテンツにアクセスするには、次を使用する必要がありました。

$data = file_get_contents("php://input");

これにより、オブジェクトをリクエスト本文から取り出して、操作可能な使用可能な変数に配置することができました。

ここに私が使用したリファレンスがあります: PHP Wrappers

于 2013-06-12T13:41:55.737 に答える
0

データ型をhtmlとして削除すると、次のようになります

 var request =  $.ajax({
        url : "cashregister",
        type : "POST",
        data : {prod_id : select_id, presenkort : presentkort_type}
    });

select_idが来ているかどうかをアラートで確認します

于 2013-06-12T13:05:50.670 に答える
0

DATATYPE を html として削除し、完全なフォームを送信してください。

$j.ajax({
      url: '/cashregister/',
      type:'POST', 
      data:$j('#Id').serialize(),
      success:function(msg) {
      alert(msg);
      }

注: #Id : フォーム ID

于 2013-06-12T13:18:26.770 に答える