http://localhost:32690/WebService1.asmx/GetPerson
我本机有这样一个地址部署在A项目
然后我在B项目用AJAX调用这地址 用IE可调用成功了 并且拿到数据
火狐下既然出错 
NetworkError: 500 Internal Server Error - http://localhost:32690/WebService1.asmx/GetPerson 
有谁知道吗?
ps:两个项目只是在VS2010里面启动了,没在IIS上部署,应该不会这个问题吧?

解决方案 »

  1.   

    你直接在火狐里面输入
    http://localhost:32690/WebService1.asmx/GetPerson 
    看能否访问吗
      

  2.   

    可以的 还返回了
    <Person><Name>ivan-kk</Name><Age>21</Age><Address>beijingx</Address><Tel>bbx</Tel></Person>
      

  3.   


     $.ajax({
                type: "POST",
                url: "http://localhost:32690/WebService1.asmx/GetPerson",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
               data: "{}",
                success: function (json) { $(json.d).each(function () { alert(this.Name + "-" + this.Age + "-" + this.Address + "-" + this.Tel) }) },
                error: function (error) {
                    alert("调用出错" + error.responseText);
                }
            });
    url应该没错吧~~为什么IE就能成功~~火狐就找不到请求的URL?
      

  4.   

    1,首先,你清除浏览器的高速缓存进行测试
    2,其次,你返回的数据格式应该是json格式的,你怎么成了xml呢?
    3,最后,参考例子是比较好的学习方法。http://dotnet.aspx.cc/file/jQuery-Ajax-Call-WebService-DataTable.aspx
      

  5.   

    NetworkError: 500 Internal Server Error不是找不到请求的URL,是程序错误。url: "<%=Page.ResolveUrl("~")%>WebService1.asmx/GetPerson",
    这样写绝对路径,可以兼容站点和虚拟目录
      

  6.   

    我写详细点:
    [WebMethod(Description = "测试方法")]
            public string GetHelloWorld()
            {
                return "hello world";
            }
    这个webservice部署在192.168.101:80上面还有个项目部署到192.168.1.101:100上面
    有个default.asp页面,用jquery请求A项目上的gethelloworld
     $(document).ready(function () {        $.ajax({
                type: "POST",
                url: "http://192.168.1.101:80/WebService1.asmx/GetHelloWorld",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                data: "{}",
                success: function (json) { alert(json.d); },
                error: function (error) {
                    alert("调用出错" + error.responseText);
                }
            });    });
    这样火狐既然json报null了 就是拿不到数据,IE就弹出hell world
      

  7.   

    既然这帖子也一样问题
    http://topic.csdn.net/u/20100831/10/8c8c389f-d08e-45ee-bc08-eb8e1fb90eae.html
      

  8.   

    $(document).ready(function () {  $.ajax({
      type: "POST",
      url: "http://192.168.1.101:80/WebService1.asmx/GetHelloWorld",
      success: function (json) { alert(json); },
      error: function (error) {
      alert("调用出错" + error.responseText);
      }
      });  });
      

  9.   

    一下代码在ie8+firefox7下测试,完全没有问题<%@ Page Language="C#"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title></title>
      <script src="jquery-1.6.4.min.js" type="text/javascript"></script>
      <script type="text/javascript">
        $(document).ready(function () {
          $.ajax({
            type: "POST",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: "{}",
            url: "<%=Page.ResolveUrl("~") %>WebService1.asmx/GetHelloWorld?" + (new Date()).valueOf(),        
            success: function (json) { alert(json.d); },
            error: function (error) {
              alert("调用出错" + error.responseText);
            }
          });
        });
      </script>
    </head>
    <body>
      <form id="form1" runat="server">
      <ul>
        <li>test1</li>
        <li>test2</li>
        <li>test3</li>
        <li>test4</li>
        <li>test5</li>
        <li>test6</li>
      </ul>
      </form>
    </body>
    </html>WebService1.asmx
    <%@ WebService Language="C#" Class="WebService1" %>using System;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;[WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
    [System.Web.Script.Services.ScriptService]
    public class WebService1  : System.Web.Services.WebService {    [WebMethod]
        public string GetHelloWorld() {
            return "Hello World\r\n" + HttpContext.Current.Request.RawUrl;
        }
        
    }
      

  10.   

    我除了    url: "<%=Page.ResolveUrl("~") %>WebService1.asmx/GetHelloWorld?" + (new Date()).valueOf()这里,其他都一模一样~~难道是我系统问题?应该不会吧~我的是64位 windows7
      

  11.   

    你的  firefox什么版本》?
      

  12.   

    真想好好请教一下这个问题啊,无独有偶请看看我这个http://zhidao.baidu.com/question/2201744020142419868.html?quesup2&oldq=1
      

  13.   

    Ajax好像有跨域限制吧。如果是不同站点,直接这样请求,最好采用可以支持跨域请求的ajax,比如jquery的某些ajax方法。
    你两个项目在Vs2010中开发,首先网站要能够浏览,是因为Vs2010自动会打开一个本地模拟的IIS,也就是你电脑右下角有一个图标。只有这个打开,你才能正常访问项目网站,否则是没法访问的。
    如果这个有,那就是你项目程序代码问题