javascript - ajaxupload 跨域上传文件 ,能返回值,但是总是进error,不进sucess ,为什么?
迷茫
迷茫 2017-05-16 13:03:07
0
3
555

$.ajaxFileUpload({

        url:"http://192.168.0.222:8080/Erp_V0.1/admin/upload/uploader.php",   //处理图片的脚本路径
        type: 'post',       //提交的方式
        data: upload_arr,//自定义参数
        secureuri :false,   //是否启用安全提交
        fileElementId :id,     //file控件ID
        dataType : "jsonp",//数据类型为jsonp
        jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数
        success : function (data){  //提交成功后自动执行的处理函数
            alert(1111);
            alert(data);
        },
        error:function(data,status,e){
            alert(2222);
            alert(e);
            alert(JSON.stringify(data));
            alert(status);
        }
    }) 
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(3)
世界只因有你

jsonp クロスドメインは get モードのみをサポートします。フロントエンドが post モードに設定されている場合でも、自動的に get モードに変換されます。
jsonp の実装メソッドは、実際にはスクリプトリクエストアドレスと同じですが、ajax の jsonp がそれをカプセル化する点が異なります。ご想像のとおり、jsonp は POST メソッドをサポートしていません。したがって、サーバー側のコードで post メソッドが使用されている場合、リクエストはできません。
もちろん、クロスドメイン通信に post メソッドを強制的に使用する場合は、何もできません。
クライアント側の変更:
``
追加:crossDomain: true
変更: dataType: "json"
``
サーバー側の追加:

リーリー

それは可能ですが、デメリットがあり、リクエストにかかる時間が比較的長くなります。メリットとデメリットを自分で比較検討してください。

最後に、Stackoverflow に関連する質問投稿を添付します:
http://stackoverflow.com/ques...

いいねを押す +0
为情所困

ドメイン間で Get for Jsonp を使用したことを覚えています。ただし、どうしても投稿したい場合は、http://www.jb51.net/article/6... があります。私は試していません。

いいねを押す +0
巴扎黑

まず、クロスドメインとjsonp関連の知識を整理しましょう
jsonpはscriptタグで作られています
投稿をクロスドメインにする場合は、バックエンドにAccess-Control-Allow-Originを追加する必要があります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!