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