2017-01-24 4 views
1

jQueryを使用してPOST呼び出しを実装しようとしています。私はコールを送信しているときに、それは400 Bad Requestを投げています..私のPOSTコールでどこが間違っているのかわかりません。これを修正するのに助けが必要です..すべてが範囲内にあるようです。Slim 3とTwigを使用したjQueryポストへの400(Bad Request)の取得

Twigビュー内の送信ボタン。

<button type="submit" id="accent">CONFIRM ACCENT COLOUR</button> 

スクリプト

<script type="text/javascript" src="{{ base_url() }}/assets/plugins/jquery/jquery-ui.min.js"></script> 
<script type="text/javascript" src="{{ base_url() }}/assets/plugins/fpd/js/fabric.js"></script> 
<script type="text/javascript" src="{{ base_url() }}/assets/plugins/fpd/js/FancyProductDesigner-all.js"></script> 
<script type="text/javascript" src="{{ base_url() }}/assets/plugins/fpd/js/FancyProductDesignerPlus.js"></script> 

<script type="text/javascript"> 
    var _container = jQuery('#fpd'); 
    var _accent = jQuery('#accent'); 

    var _pluginOpts = { 
     stageWidth: 800, 
     stageHeight: 800, 
     editorMode: false, 
     mainBarModules: ['images', 'text'], 
     actions: { 
      "top": ['preview-lightbox', 'zoom'], 
      "right": [], 
      "bottom": [], 
      "left": [] 
     }, 
     toolbarPlacement: 'inside-bottom', 
     fonts: ['Arial', 'Helvetica', 'Times New Roman', 'Verdana', 'Geneva', 'Gorditas'], 
     colorSelectionPlacement: 'inside-bl', 
     customImageParameters: { 
      uniScalingUnlockable: true, 
      colors: ['#000000', '#e6dcc1', '#b6a287', '#fdf6ae', '#ffd54b', '#f68a40', '#a9d489', '#217342', '#39401f', '#c62127', '#e85d82', '#ebc5e9', '#f3dfe4', '#b8d9e6', '#3970b7', '#263b97', '#9295ca', '#261c4e', '#0d0e22', '#bbbbb6', '#5b5d5a', '#ffffff'], 
      removable: true, 
      resizable: true, 
      draggable: true, 
      rotatable: true, 
      autoCenter: true 
     }, 
     customTextParameters: { 
      curvable: true, 
      curveReverse: true, 
      curveSpacing: 0, 
      curveRadius: 200, 
      fontSize: 50, 
      colors: ['#000000', '#e6dcc1', '#b6a287', '#fdf6ae', '#ffd54b', '#f68a40', '#a9d489', '#217342', '#39401f', '#c62127', '#e85d82', '#ebc5e9', '#f3dfe4', '#b8d9e6', '#3970b7', '#263b97', '#9295ca', '#261c4e', '#0d0e22', '#bbbbb6', '#5b5d5a', '#ffffff'], 
      removable: true, 
      resizable: true, 
      draggable: true, 
      rotatable: true, 
      autoCenter: true 
     }, 
    }, 

    fpd = new FancyProductDesigner(_container, _pluginOpts); 

    jQuery(function() { 
     _accent.click(function() { 
      fpd.getProductDataURL(function(dataURL) { 
       //** SOURCE CODE FOR URL IS CORRECT var url = "/projects/GolfBag/public/golf-bags/2563901"; **// 
       var url = "{{ path_for('product.createProductAccent', {sku: product.sku}) }}"; 

       //** HERE SEEMS TO BE THE ISSUE **// 

       jQuery.post(url, {accent: 'accent', contentType: 'image/png', base64_image: dataURL}); 
      }); 
     }); 
    }); 
</script> 

ルート

$app->post('/golf-bags/{sku}', ['Base\Controllers\ProductController', 'createProductAccent'])->setName('product.createProductAccent'); 

は、誰もがこれで私を助けることができますか?

MINIMAL例

jQuery(function() { 
    _accent.click(function() { 
     fpd.getProductDataURL(function(dataURL) { 
      //** SOURCE CODE FOR URL IS CORRECT var url = "/projects/GolfBag/public/golf-bags/2563901"; **// 
      var url = "{{ path_for('product.createProductAccent', {sku: product.sku}) }}"; 

      //** HERE SEEMS TO BE THE ISSUE **// 

      jQuery.post(url, {accent: 'accent', contentType: 'image/png', base64_image: dataURL}); 
     }); 
    }); 
}); 
+0

問題はCSRFトークンのポストに適用されていないことが判明。あなたは最小の例を提供できますか?おそらく400エラーがサーバー側から生成されている可能性が高いです(パラメーターの欠落など)? – goto

答えて

0

掘りのビットの後、私はあなたのコードは、それはそれを読むのは難しい掃除されていない

+0

こんにちは。あなたはその問題をどのように修正しましたか?トークンをPOSTに追加する方法は何ですか? – LavenPillay

+0

'データ:{csrf:getCSRFTokenValue()}' – John

関連する問題