我无法从wordpress中的js ajax获取PHP的$ _POST

时间:2018-01-27 14:53:16

标签: javascript php jquery ajax wordpress

这是我的 php 文件:

add_action( 'wp_ajax_mon_action', 'mon_action' );
add_action( 'wp_ajax_nopriv_mon_action', 'mon_action' );

function mon_action() {

    if (isset($_POST["form_data"])) {
        $field1=$_POST["form_data"];
    }else{
        $field1='heye';
    }
    var_dump($_POST);
    die();
} 

这是 js 文件:

function sayHelloWorld() {
    window.alert('hey');
    var div = document.getElementById('alt_textarea');
    var div_tmp = document.createElement('div');
    div_tmp.innerHTML = div.innerHTML;
    var images = Array.prototype.slice.call(div_tmp.getElementsByTagName('img'));
    var form_data = new FormData();
    for (var i = 0; i < images.length; i++) {
        var altImage = document.createTextNode("articleImage_" + i);
        images[i].parentNode.insertBefore(altImage,images[i]);
        images[i].parentNode.removeChild(images[i]);
        form_data.append('eyecatch[]',images[i].src);
    }; 
    form_data.append('body',div_tmp.innerHTML);
    jQuery.ajax({
        url: 'admin-ajax.php',//I wrote absolute path here.
        type:'POST',
        data: { 
             'action': "mon_action",
            'form_data': form_data
        },
        timeout:10000
    }).done(function(data) {
          window.alert(data);
    }).fail(function(XMLHttpRequest, textStatus, errorThrown) {
          window.alert("error");              
    });
}

但是var_dump($_POST)没有用。 我window.alert只停留'嘿'。 当我在js文件中的数据中更改为“formdata:'some strings'”时,我可以使用var_dump($_POST)。 所以我的问题是为什么我在使用这些文件时无法使用$_POST。 请告诉我。

0 个答案:

没有答案