解决方案 »

  1.   

    不能用~,用相对路径,比如"../Administrator/survey/SurveyDetail.aspx/ViewAnswer"
      

  2.   


    我之前是用的SurveyDetail.aspx/ViewAnswer ,也不行。引用页跟方法页在同一个目录下面
      

  3.   


    $.post(url,{},function(data{}));简写的jquery的ajax的post请求中的第二个参数为json格式的数据  如:{ "surveyId": surveyId , "questionId": questionId  }
    你上面的数据格式写错了(json格式字符串)
      

  4.   

    url,[data],[callback],[type]String,Map,Function,StringV1.0url:发送请求地址。data:待发送 Key/value 参数。callback:发送成功时回调函数。type:返回内容格式,xml, html, script, json, text, _default。
      

  5.   

    失败的原因是没有post过去,还是post过去没有数据的?
      

  6.   


    我那个就是拼接成json格式的数据,只不过凭借成字符串了  。 因为 surveyId 是字符型,所以才那样写的。
      

  7.   


    额,这么说不太准确,我在SurveyDetail.aspx写了一个
        /// <summary>
            /// 查看问题结果
            /// </summary>
            /// <param name="surveyId"></param>
            /// <param name="questionId"></param>
            /// <returns></returns>
            [WebMethod]
            public static string ViewAnswer(string surveyId, string questionId)
            {
                   ....(方法省略)
            }
    然后ajax的post就可以直接找到这个方法,但是jquery中的post是走的SurveyDetail.aspx这个页面的pageload方法,走不到ViewAnswer方法。
      

  8.   


    额,这么说不太准确,我在SurveyDetail.aspx写了一个
        /// <summary>
            /// 查看问题结果
            /// </summary>
            /// <param name="surveyId"></param>
            /// <param name="questionId"></param>
            /// <returns></returns>
            [WebMethod]
            public static string ViewAnswer(string surveyId, string questionId)
            {
                   ....(方法省略)
            }
    然后ajax的post就可以直接找到这个方法,但是jquery中的post是走的SurveyDetail.aspx这个页面的pageload方法,走不到ViewAnswer方法。
    照你的情况,应该是post过去的了,只是有些参数不对
    可以通过firebug看看这两次发的请求的头或者是其它的参数有什么不同的
      

  9.   

    都说了 你的post的第二个参数的类型不正确,你那个是JSON格式的字符串类型 而他需要的是直接的JSON类型.
      

  10.   


    我按照你说的改了,还是不行         
     $.post("SurveyDetail.aspx/ViewAnswer", { "surveyId": surveyId ,"questionId": questionId }, function (data) {
                    alert(data);
                    //$("#result").html(data);
                }, "json");
    但是走SurveyDetail.aspx这个页面的pageload方法,走不到ViewAnswer方法。
    我在SurveyDetail.aspx写了一个
        /// <summary>
            /// 查看问题结果
            /// </summary>
            /// <param name="surveyId"></param>
            /// <param name="questionId"></param>
            /// <returns></returns>
            [WebMethod]
            public static string ViewAnswer(string surveyId, string questionId)
            {
                   ....(方法省略)
            }
      

  11.   

     $.post("SurveyDetail.aspx/ViewAnswer", { "surveyId": surveyId ,"questionId": questionId }, function (data) {
                    alert(data);
                    //$("#result").html(data);
                }, "json");
    你当前的文件路径和你要post的文件的所在路径是同一个么?