2017-09-18 22 views
0

を通じてPHPにjQueryオブジェクトを送信しますは、私はこれが可能重複しているが、StackOverflowの上ここでは他の質問/回答のどれも私の問題を解決していない、と私は<strong>数十</strong>を見てきました!<strong>非常に意識し</strong>だアヤックス

は、ここで私がやろうとしているものです: が可能な場合は、配列(必須、しかし好ましくない)として、アヤックスを通じてPHPにはjQueryでオブジェクトを送信します。

マイjQueryのコード:

var category = { 
     id: $(this).data('id'), 
     name: $(this).data('name'), 
     brief_description: $(this).data('briefdesc'), 
     description: $(this).data('desc') 
    }; 

    $.ajax({url: '/ajax.php', 
     data: {action: 'removeCategory', category_info: JSON.stringify(category)}, 
     type: 'post', 
     success: function (result) { 
      console.log(result); 
     }, 
    error: function() { 
     console.log("Error"); 
    }, dataType: "json" 
}); 

変数カテゴリが正常に動作している、すべてのインデックスは、その値

今私の ajax.phpコード

$category = json_decode($_POST['category_info']); 
//category['name'] should exist and have the value sent from ajax 
echo "We did it?"; 
を持っています

問題は、エラー関数が呼び出されることです。

+2

問題の内容を忘れました。 – jeroen

+0

@jeroenそれは動作していません、それはajaxの呼び出しでエラー関数を実行しています – xickoh

+0

use json_decode($ _ POST ['category_info']、true); – Lalit

答えて

1

あなたは文字列化する必要はありませんでしょう、配列としてそれを復号化します。

$.ajax({ 
     url: '/ajax.php', 
     data: { 
       action: 'removeCategory', 
       category_info:category 
     }, 
     type: 'post', 

PHP側では、$ _POST ['category_info']にあります。デコードする必要はありません。

+0

私は実際にこれを試してみましたが、ブラウザのキャッシュがjavascriptコードを妨害した可能性があり、成功しませんでした。実際には、私は文字列化する必要はありませんが、文字列化しようとするとエラーが発生します。ありがとうございました! – xickoh

関連する問題

 関連する問題