问题:ajax跨域访问报错501
运行下面的代码会报错501
$.ajax({ type: post, url: http://192.168.1.202/sensordata.php, contenttype:'application/json; charset=utf-8', data: json.stringify(ajaxpostdata), datatype:'json', success: function(data){ //on ajax success do this console.info(success.); if (data[status] == ok){ alert(settings is ok. the machine is rebooting.); } }, error: function(xhr, ajaxoptions, thrownerror) { //on error do this console.info(error.); if (xhr.status == 200) { alert(ajaxoptions); } else { alert(xhr.status); alert(thrownerror); } } });
解决方法:
去掉 contenttype:'application/json; charset=utf-8'
原因:
1 在跨域的时候,除了contenttype为application/x-www-form-urlencoded, multipart/form-data或者text/plain外,都会触发浏览器先发送方法为options的请求。
2 比如说,你原来的请求是方法方法post,如果第一个请求返回的结果header中的allow属性并没有post方法,
3那么第二个请求是不会发送的,此时浏览器控制台会报错,告诉你post方法并不被服务器支持。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
使用ajax实现根据人力资源系统数据增加oa账号的方法
ajax怎么做出关键字智能匹配搜索
以上就是ajax跨域访问报错501怎么处理的详细内容。
