最近因为做web项目,学习了jquery,前端页面也使用了不少jquery调用本项目累的webservice方法,感觉jquery的 $.ajax 方法与$.post方法功能上差别不大,应为$.post语法上更简洁,就一直用的$.post,项目在本地调试运行一直都很正常,部署在本地IIS上也能正常使用(直接在IIS中新建的网站地址指向项目文件夹)。
但是今天放到服务器上时问题出现了:jquery,js,以及调用的其他jquery插件使用都正常,就是调用 jquery的$.post方法时无响应,
在网上查了很多资料,大部分都是说的$.ajax方法,有说是datatype要为jsonp的,有说要在方法名后面加"?callback?"的,还有说是跨域名了,post方法不支持跨域名,要用get方法的等等..看的头都晕了,照着改了半天都不行。
后来看到要在web.config中添加webservice对get、post方法支持的,应为之前一直认为webservice是默认支持的post,不支持get,就想着用的是get才会需要去添加,没想到post方法也需要在web.config中添加,记得之前直接在.net的程序中用添加引用的方法调用webservice无需添加该配置,大概使用jquery时必须添加吧。
位于 <system.web>中
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>