簡體   English   中英

Ajax響應未顯示在頁面上

[英]Ajax response isn't showed on page

我的ajax是

    $.ajax({
        type: 'POST',
        url: ajax.ajax,
        contentType: false,
        processData: false,
        dataType: 'JSON',
        status: 200,
        data: formdata,
        success: function(msg){
            $('#success_message').fadeIn().html(data);
            setTimeout(function() {
                $('#success_message').fadeOut("slow");
        }, 2000 );

        }
    });

這是PHP的一部分

function form(){ 

    global $wpdb;
    $table = cars;

    foreach ($_FILES as $file) {
        if($file['error'] == UPLOAD_ERR_NO_FILE) {
            continue;
        }

        $valid_ext = array( 'img' , 'png');
        $extension_upload = strtolower(  substr(  strrchr($file['name'], '.')  ,1)  );
        if ( in_array($extension_upload,$valid_ext) ) {
            $name_upload = uniqid() . $file['name'];
            $url_insert = trailingslashit( plugin_dir_path( dirname( __FILE__ ) ) ) . 'uploads';
            wp_mkdir_p($url_insert);
            $name_insert = trailingslashit($url_insert) . $name_upload;
            $action = move_uploaded_file($file['tmp_name'],$name_insert);

            $data = array( 'customer_resume' => $name_upload );
            $format = array( '%s' );

            $success=$wpdb->insert( $table, $data, $format );  
            $msg_true = 'Upload ok ';

        } else {
            $msg_error = 'Upload error';
        }
    }

    $result = !isset($msg_error);
    $msg = array();

    if($result) {
        $msg['error'] = 'true';
        $msg['true'] = $msg_true;
    } else {
        $msg['error'] = 'false';
        $msg['false'] = $msg_error;
    }

    header('Content-Type: application/json');
    echo json_encode($msg);

}

我嘗試顯示成功或錯誤消息的HTML

<div id="error_message"></div>
<div id="success_message"></div>

當我單擊“提交”按鈕時,我一切正常,並保存在數據庫中,但是沒有任何跡象表明是否成功。 我嘗試添加此msg ,但頁面上仍然沒有任何顯示。

PHP方面:

您需要打印相同的變量以獲取成功和失敗:

if($result) {
        $msg['error'] = 'true';
        $msg['msg'] = $msg_true;
    } else {
        $msg['error'] = 'false';
        $msg['msg'] = $msg_error;
    }

JavaScript面:

AJAX回應會如下

data.error -> true or false.
data.msg -> Success or Error message depending upon program logic.

...
 success: function(data){
  $('#success_message').fadeIn().html(data.msg);
...

“ ajax.ajax”背后隱藏着什么?

另外,如果要顯示數據,則需要使用“ msg”

success: function(msg){
        $('#success_message').fadeIn().html(msg);
        setTimeout(function() {
            $('#success_message').fadeOut("slow");
    }, 2000 );

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM