duanmiao6695 2017-06-20 08:47
浏览 63
已采纳

FormData不将数据发布到php后端脚本

I have this form

<form id="home"  class="validate-form" method="post" enctype="multipart/form-data">
                            <!-- Form Item -->
                            <div class="form-group">
                                <label>How much money do you need? (USD)</label>
                                <div class="input-group">
                                    <div class="input-group-addon">USD</div>
                                    <input id="moneyAmount" type="number" name="amount" class="form-control slider-control input-lg" value="100000" min="10000" max="1000000" data-slider="#moneySlider" required>
                                </div>
                                <div id="moneySlider" class="form-slider" data-input="#moneyAmount" data-min="10000" data-max="1000000" data-value="100000"></div>
                            </div>
                            <!-- Form Item -->
                            <div class="form-group">
                                <label>How long? (months)</label>
                                <div class="input-group">
                                    <input id="monthNumber" type="number" name="months" class="form-control slider-control input-lg" value="10" min="6" max="12" data-slider="#monthSlider" required>
                                    <div class="input-group-addon">months</div>
                                </div>
                                <div id="monthSlider" class="form-slider"  data-input="#monthNumber" data-min="6" data-max="12" data-value="10"></div>
                            </div>
                            <div class="form-group">
                                <label>Telephone Number</label>
                                <!-- Radio -->
                                <input type="number" name="telephone" class="form-control" required/>
                            </div>
                            <!-- Form Item -->
                            <div class="form-group">
                                <label>3 Months Bank or Paypal </label>
                                <!-- Radio -->
                                <input type="file" name="statements" class="ml btn btn-primary btn-lg" /><span>Upload</span>
                            </div>
                            <!-- Form Item -->
                            <div class="form-group">
                                <label>Monthly repayment</label>
                                <span id="formResult" class="form-total">USD<span>262.99</span></span>
                            </div>
                            <div class="form-group form-submit">
                                <button type="submit" class="btn-submit btn-lg"><span>Send a request!</span></button>
                            </div>
</form>

that i am using to post a file and some data via formData. This is the jquery code

$( "#home" ).on( "submit", function( event ) {
event.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
        url: 'http://example.com/home.php',  
        type: 'POST',
        data: formData,
        async: true,
        success: function (data) {
            console.log(data)
        },
        cache: false,
        contentType: false,
        processData: false
    });

    return false;

});

and finally the php script

<?php

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: GET, POST');

header("Access-Control-Allow-Headers: X-Requested-With");


$rawData = file_get_contents("php://input");

return print_r($rawData);
?>

On the client side, the console.log(data) is empty. Why am i not able to get the posted data?.

  • 写回答

3条回答 默认 最新

  • dongxieli3839 2017-06-20 09:04
    关注

    Actually php://input allows you to read raw POST data but php://input does not work when enctype="multipart/form-data" for detailed info : http://php.net/manual/en/wrappers.php.php

    <?php
    
    header('Access-Control-Allow-Origin: *');
    
    header('Access-Control-Allow-Methods: GET, POST');
    
    header("Access-Control-Allow-Headers: X-Requested-With");
    
    echo '<pre>'l
    // for upload data
    print_r($_FILES);
    echo '<br>';
    // for posted data
    print_r($_POST);
    echo '</pre>';
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?