function ok() {          var mes= $("#txtOpin").val(); ;        
          $.ajax({
              url: "backGroundService.asmx/saveOpinion",
              dataType: "text",
              data: "mes",
              contentType: "application/json; charset=utf-8",
              success: function (msg) {    //msg就是方法返回值
                   //这里是请求成功做的操作
                  alert(msg);
              },
              error: function (xhr, msg, e) {
                  //这里是失败了
                alert(msg);
               }
后台c#using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace XJNWeb.template
{
    /// <summary>
    /// backGroundService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class backGroundService : System.Web.Services.WebService
    {        public static string saveOpinion(string mes)
        {
            if (mes == "")
            {
                return "请填写意见";
            }
            else
            {
                
                return "保存成功";
            }        }

解决方案 »

  1.   

    data: { mes : mes }  //这里应该是键值对集合
      

  2.   

    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
        // [System.Web.Script.Services.ScriptService]我就笑笑 我不说话、
      

  3.   


    ++1 data:{Method:"调用的方法名称",cs:参数值}....
      

  4.   

    error的内容?输出responseText看看。。
    //dataType: "text"
    web service返回内容默认是xml
      

  5.   


    data:{Method:"调用的方法名称",cs:参数值}....method 和cs 是什么?麻烦就用我的例子写下这句话
      

  6.   


    就是弹出一个对话框 写了error 如何输出responseText
      

  7.   


    输出错误了,错误是 undifine???
      

  8.   


     var mes = $("#txtOpin").val(); ;        //参数,参数名要和后台方法名字一样
               $.ajax({
                   type: "POST",
                   url: "backGroundService.asmx/saveOpinion",
                   data: "{'mes':'"+mes+"'}",
                   dataType: "text",
                   contentType: "application/json; charset=utf-8",
                   success: function (msg) {    //msg就是方法返回值
                       //这里是请求成功做的操作
                       alert();
                   },
                   error: function (xhr, msg, e) {
                       //这里是失败了
                       alert(msg.responseText);
                   }
    现在成这样了。。还是错哎。无语了
      

  9.   


    复制我代码。在要用Jquery调用的页面和webService同一级目录。如果没效果我可以去si了、
             $("#Button1").click(function () {
                    $.ajax({
                        type: "POST",  
                        contentType: "application/json",
                        url: "../WebService1.asmx/HelloWorld",
                        data: "{msg:'alpha'}",
                        dataType: 'json',
                        success: function (result) {     
                            alert(result.d);
                        },
                        error: function (e) { alert('error'); }
                    });using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;namespace WebApplication1
    {
        /// <summary>
        /// WebService1 的摘要说明
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [System.ComponentModel.ToolboxItem(false)]
        // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
        [System.Web.Script.Services.ScriptService]
        public class WebService1 : System.Web.Services.WebService
        {
            
            [WebMethod]
            public string HelloWorld(string msg)
            {
                return "Hello World:"+msg;
            }
            
        }
    }
      

  10.   

    url: "../backGroundService.asmx/saveOpinion",   绝对是这个问题。
      

  11.   

    要不不要这个了。。大神给了例子吧。。ajax 的 提交各string到后台处理~~~不是说jqure简单么。。第一次弄就一直错  哎~~~
      

  12.   


          var mes= $("#txtOpin").val();
          $.get("backGroundService.asmx/saveOpinion", { mes: mes }, function (msg) {
              alert($(msg).text());
          })如果后台代码打了断点根本没进去,检查下web.config文件里在<system.web>配置节下有没有    <webServices>
          <protocols>
            <add name="HttpPost" />
            <add name="HttpGet" />
          </protocols>
        </webServices>
    #4楼,注释的代码是针对ScriptManager的。
      

  13.   

    asmx也可以接收请求?不都是一般处理程序ashx吗?
      

  14.   

    你还真牛。。可以调试webService。
      

  15.   


    哎~~知道错哪了。。错在我方法前面的 static~~
      

  16.   

    去掉static 就可以了~~~~~~~哎~~fuck~~
      

  17.   


    请问如果多个值呢?该怎么写?给个例子
    比如我有 mes1,mes2,mes3? 现在data怎么写?试着模仿,不成功啊~~~希望帮忙写一下