$.ajaxFileUpload({
url:"http://192.168.0.222:8080/Erp_V0.1/admin/upload/uploader.php", //画像処理用のスクリプトパス
type: 'post', //送信メソッド
データ:upload_arr,//カスタムパラメータ
secureuri:false, //安全な送信を有効にするかどうか
fileElementId:id, //ファイル制御ID
dataType: "jsonp",//データ型は jsonp です
jsonp: "jsonpCallback",//サーバーはコールバック呼び出しの関数名のパラメータを受け取るために使用されます
success: function (data){ //送信成功後に自動的に実行される処理関数
アラート(1111);
アラート(データ);
}、
エラー:関数(データ,ステータス,e){
アラート(2222);
アラート(e);
アラート(JSON.stringify(データ));
アラート(ステータス);
}
})
jsonp クロスドメインは get モードのみをサポートします。フロントエンドが post モードに設定されている場合でも、自動的に get モードに変換されます。
リーリーjsonp の実装メソッドは、実際にはスクリプトリクエストアドレスと同じですが、ajax の jsonp がそれをカプセル化する点が異なります。ご想像のとおり、jsonp は POST メソッドをサポートしていません。したがって、サーバー側のコードで post メソッドが使用されている場合、リクエストはできません。
もちろん、クロスドメイン通信に post メソッドを強制的に使用する場合は、何もできません。
クライアント側の変更:
``
追加:crossDomain: true
変更: dataType: "json"
``
サーバー側の追加:
それは可能ですが、デメリットがあり、リクエストにかかる時間が比較的長くなります。メリットとデメリットを自分で比較検討してください。
最後に、Stackoverflow に関連する質問投稿を添付します:
http://stackoverflow.com/ques...
ドメイン間で Get for Jsonp を使用したことを覚えています。ただし、どうしても投稿したい場合は、http://www.jb51.net/article/6... があります。私は試していません。
まず、クロスドメインとjsonp関連の知識を整理しましょう
jsonpはscriptタグで作られています
投稿をクロスドメインにする場合は、バックエンドにAccess-Control-Allow-Originを追加する必要があります