jquery调用webservices,在本地测试通过,能正常调用,但上传到服务器后就不行,不过可以正常访问asmx,也可以点击调用,就是用js调用时不行,然后我也加了这些
我用的的是vs2013的,网上说web.config加
<httpHandlers>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpHandlers>
我加了,但是好像vs2013加不了,到底是什么回事呢?
网上有的人说是跨域的问题,用jsonp代替json,好像还是不行,不知道是我方法没用对还是怎样的呢
客户端:
$.ajax({
type: "POST",
url: "http://localhost:4767/Phone.asmx/test",
data: "{UserID:'" + currUserID + "'}",
dataType: 'jsonp',
jsonp: "jsoncallback",
success: function (result) {
............
服务端用的webservices
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public bool test(string UserID)
{
......
}
首先你要知道是不是存在跨域调用的问题。
我在用DW5.5调试是正常的,但是发布到服务器的时候范围就不行了,而且webservices用浏览器打开也是正常的,到底是什么原因呢
@木子-李: 你有没有排除跨域的可能性?
楼1说的没错,首先得确定是不是跨域的问题,其次看看是不是调用服务的URL没有改过来
有可能是url不对。。
url用浏览器打开是正常的,在服务器上面打开是正常的