上一篇博客说了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服务端的我没接触过,以后再补上
以上就介绍了 ajax跨域post方式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。