Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX和远程PHP上传文件_Javascript_Php_Jquery_Ajax_Xmlhttprequest - Fatal编程技术网

Javascript 使用AJAX和远程PHP上传文件

Javascript 使用AJAX和远程PHP上传文件,javascript,php,jquery,ajax,xmlhttprequest,Javascript,Php,Jquery,Ajax,Xmlhttprequest,我正在尝试使用AJAx构建一个上传程序。我希望使用AJAX而不是表单和Iframe,因为我希望默认CSS样式与响应一起使用 问题是,我的PHP位于远程服务器上。我使用的是Shopify,他们不允许我使用他们的PHP服务器,所以我把它放在不同的服务器上。由于某种原因,它不起作用。这是我的密码: <form action="" id="formContent" method="post" enctype="multipart/form-data" > <input type="f

我正在尝试使用AJAx构建一个上传程序。我希望使用AJAX而不是表单和Iframe,因为我希望默认CSS样式与响应一起使用

问题是,我的PHP位于远程服务器上。我使用的是Shopify,他们不允许我使用他们的PHP服务器,所以我把它放在不同的服务器上。由于某种原因,它不起作用。这是我的密码:

<form action="" id="formContent" method="post" enctype="multipart/form-data" >
<input  type="file" name="file"  required id="upload">
<button class="submitI" >Upload Image</button> 
</form>


<script type="text/javascript">
$("#formContent").submit(function(e){
    e.preventDefault();

var formdata = new FormData(this);

    $.ajax({
      url: "http://myserver.com/upload.php",
        type: "POST",
        data: formdata,
        mimeTypes:"multipart/form-data",
        contentType: false,
        cache: false,
        processData: false,
        crossDomain: true,
        success: function(){
            alert("file successfully submitted");
        },
        error: function(){
            alert("okey");
        }
     });
  });

JavaScript是否生成控制台错误?类似“跨域”警告的东西?@Barrymejer不,此外,我允许在PHP端进行跨域调用。查看我的更新。。
$(':file').change(function(){
var file = this.files[0];
name = file.name;
size = file.size;
type = file.type;

if(file.name.length < 1) {
}
else if(file.size > 100000) {
    alert("The file is too big");
}
else { 
    $(':submit').click(function(){
        var formData = new FormData($('*formId*')[0]);
        $.ajax({
            url: 'script',  //server script to process data
            type: 'POST',
            xhr: function() {  // custom xhr
                myXhr = $.ajaxSettings.xhr();
                if(myXhr.upload){ // if upload property exists
                    myXhr.upload.addEventListener('progress', progressHandlingFunction, false); // progressbar
                }
                return myXhr;
            },
            // Ajax events
            success: completeHandler = function(data) {
                /*
                * Workaround for Chrome browser // Delete the fake path
                */
                if(navigator.userAgent.indexOf('Chrome')) {
                    var catchFile = $(":file").val().replace(/C:\\fakepath\\/i, '');
                }
                else {
                    var catchFile = $(":file").val();
                }
                var writeFile = $(":file");
                writeFile.html(writer(catchFile));
                $("*setIdOfImageInHiddenInput*").val(data.logo_id);
            },
            error: errorHandler = function() {
                alert("Something went wrong!");
            },
            // Form data
            data: formData,
            // Options to tell jQuery not to process data or worry about the content-type
            cache: false,
            crossDomain: true,
            contentType: false,
            processData: false
        }, 'json');
    });
}});
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Max-Age: 1000');