weixin_33711641 2016-03-08 13:07 采纳率: 0%
浏览 18

Ajax,合并或扩展数据

I need to pass data to a php function, but I can't merge the data. I'm trying to have a progress bar while loading.

This is the code:

AJAX

$(document).on('click', '#submit_button', function(event) {
    var data = [];
    for (var i = 0; i < 100000; i++) {
        var tmp = [];
        for (var i = 0; i < 100000; i++) {
            tmp[i] = 'hue';
        }
        data[i] = tmp;
    };

    $.ajax({
        xhr: function() {
            var xhr = new window.XMLHttpRequest();
            xhr.upload.addEventListener("progress", function(evt) {
                if (evt.lengthComputable) {
                    var percentComplete = evt.loaded / evt.total;
                    console.log(percentComplete);
                    $('.progress').css({
                        width: percentComplete * 100 + '%'
                    });
                    if (percentComplete === 1) {
                        $('.progress').addClass('hide');
                    }
                }
            }, false);

            xhr.addEventListener("progress", function(evt) {
                if (evt.lengthComputable) {
                    var percentComplete = evt.loaded / evt.total;
                    console.log(percentComplete);
                    $('.progress').css({
                        width: percentComplete * 100 + '%'
                    });
                }
            }, false);
            return xhr;
        },
        type: 'POST',
        data: {
            action: 'my_action',
            nonce: $('#my_nonce').text()
        },
        url: ajaxurl,
        success: function(response) {
            console.log(response);
        },

    });
});

PHP

function my_action() {
    if (wp_verify_nonce($_REQUEST['nonce'], 'my_nonce')) {
        wp_die('WORKS');
    } else {
        wp_die('BUSTED');
    }
}

add_action('wp_ajax_my_action', 'my_action');

The problem is, I can't merge var data = []; with {action: 'my_action', nonce: $('#my_nonce').text()}.

I tried data push ie data.push({ action: 'my_action' }); data.push({ nonce: $('#my_nonce').text() }); but it doesnt work. Also tried $.extend() but without success. Any help would be greatly appreciated...

  • 写回答

1条回答 默认 最新

  • weixin_33743248 2016-03-08 13:23
    关注

    I've made some quick tests, Have you received the same results?

    enter image description here

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)