上一篇博客说了ajaxgetjsonp跨域方式,需要注意的一些事项下面说一下post方式传输数剧以及后端接受。
先直接上ajax代码:
$(document).ready(function() {
$('#submit1').click(function(){
var data = new FormData($("#form1")[0]); //$("form").serializeArray();
//formData = new FormData(data);
data.append("serect", 12324234);
console.log(data);
$.ajax({
type:"POST",
url:"http://test/fuck",
data: data,
crossDomain: true,
contentType: false,
processData: false,
dataType: 'json',
success:function(data) {
}
});
return false;
});
注意的是一定要加上
crossDomain: true,这一行,不然你会报错,oringn cross 那个错,还有就是服务端一定要配置cros我用的laravel框架做后端,所以就要改一下几个东西。
一就是要在入口文件配置cros代码如下:
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')
->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Origin')->send();
$kernel->terminate($request, $response);
二就是要在kernel.php关闭token验证,否则会在接收端报错:
\App\Http\Middleware\VerifyCsrfToken::class,
下边上服务端php代码
public function fuck(Request $request){
$data = $request->all();
return json_encode($data);
}
java服务端的我没接触过,以后再补上