0

私はあなたの助けを探しています。MagentoのAjaxでアバター画像を変更したい。私のフォームは AJAX なしで動作します。これがデフォルトのフォームですaction="<?php echo $this->getUrl('customer/account/editProfile') ?>"

これは私のコードです:

     <form id="avatarform" enctype="multipart/form-data" method="post">
         <?php echo $this->getBlockHtml('formkey')?>                    
            <input type="file" name="avatar"/>
            <a><button type="submit" class="general-btn"><span><?php echo $this->__('Save Profile') ?></span></button></a>  
     </form>

そして今のところ私のJS関数:

jQuery("#avatarform").submit(function(){
            //alert ("test");   
            //jQuery.post('<?php echo $this->getUrl('customer/account/editProfile') ?>');       
            //return false;

            url = '<?php echo $this->getUrl('customer/account/editProfile') ?>';             
            new Ajax.Request(url, {
                parameters: {isAjax: 1, method: 'POST'},
                onSuccess: function(transport) {
                }
            }); 
        }); 

私に提案はありますか?

前もって感謝します。

編集: この新しいコードを使用すると、成功のアラートを受け取ることができます。

jQuery('#avatar').live('change', function() {   
            //alert('test');
            var boxval = jQuery("#avatar").val();
            var dataString = 'avatar='+ boxval;
            //document.avatarform3.submit();        
            jQuery.ajax({
                type: "POST",
                data: dataString,
                cache: false,
                url: "http://localhost/magento-sample/index.php/customer/account/editProfile",
                success: function(html) {
                alert('sucess');                                        
                }
            });
        });

しかし、フォームは送信されません。正しいデータ/パラメーターを追加するのを忘れているかもしれませんが、通常のリクエストモードで動作する場合、Ajax にパラメーターを追加する必要があるのはなぜですか? また、追加する適切なパラメーターを見つけるにはどうすればよいですか?

どうも。

4

1 に答える 1

0

フォーム送信時にパラメーターをどのように読み取っていますか。post メソッドを使用する場合は、リクエスト パラメーターを読み取る必要があります。

于 2015-01-19T13:30:24.067 に答える