解决 403 - Forbidden: Access is denied. You do not have permission to view this directory...

问题描述

项目中使用了jquery.form.js,即jquery的表单提交插件。

在web网站中(asp.net MVC技术),其中一个请求是通过$(’#form’).ajaxSubmit()的方式提交请求,当保存数据(即提交form)时,页面没有响应,通过浏览器的开发者工具,发现下面的错误信息:
403 - Forbidden: Access is denied. You do not have permission to view this directory or page using the credentials that you supplied.

解决思路

思路一

从上面的错误信息,以为是权限问题,于是去服务器上的网站路径上,依次加了下面的权限,并给了full control,进行测试:

  1. 加上该程序应用程序池的权限,并给了full control权限(iis apppool/应用程序池的名字)
  2. IIS_IUSR
  3. IUSR

然后在web页面上重新测试,发现还是一样的问题,没有解决。

思路二

当思路一的方式做完后,发现应该不是权限的问题,于是回归到form请求上的分析。
经过检查发现,web页面中定义的form没有指定方法,那么该form请求将默认使用get请求的方式

具体分析get请求中的每一个参数的内容,发现其中有个参数内容中包含一个单引号(’)。把该内容的单引号去掉,再保存(即提交form),程序正常。

解决方法

  1. 不修改web页面的内容,删除造成错误的数据中的单引号

或者

  1. 修改web页面的内容,在定义form的web页面中,指定请求方式,即 method = “post”

猜你喜欢

转载自blog.csdn.net/weixin_44728363/article/details/89352760