data: str1,    //---->这个位置老提示出现语法错误
data这里提交的数据有2种方法,
var str1="{Name:'张三',Sex:'男',Birthday:'1999-09-09',Married:'已婚'}" ;
1: data:"name=张三&sex=男&birthday=1999-09-09&Married=已婚";
2:  data:{Name:'张三',Sex:'男',Birthday:'1999-09-09',Married:'已婚'};
你自己试一下.

解决方案 »

  1.   

    data是你传入的参数。。
    data:{key:value},
      

  2.   

    data: {"user":user, "pass":pwd}, 
      

  3.   

    data格式写错了,不是字符串,是json对象
      

  4.   

    json格式,比如:
    $.post("test.php", { name: "John", time: "2pm" } );
    直接可以用大括号包起来
      

  5.   

    以上方式都试过了,不行,郁闷ing
      

  6.   

      jQuery.ajax({
            type: "POST",
            contentType: "application/json;utf-8", 
            url: "hrStaffReg.do",  
            data: {'Name':'张三','Sex':'男','Birthday':'1999-09-09','Married':'已婚'},    //---->这个位置老提示出现语法错误
            dataType: "json",
            success: function(data) {
                       alert("ok");
                },
            error: function(xhr,txtStatus,errThrow) {
               alert("error:\n " + errThrow);
            }
             
         });      
      

  7.   

    json对象里面的键和值加上引号
      

  8.   

    我按照splendid_java 一样的提示:error:
     SyntaxError:无效字符
      

  9.   

    contentType: "application/json;utf-8"
    改成
    contentType: "application/x-www-form-urlencoded; charset=UTF-8"
      

  10.   

    类似这样就行了, contentType省了$.ajax({
    url:contextPath + "json/deleteDxgcInfo.do",
    data:{xmid:xmid,upFlag:Math.round(Math.random()*10000)},
    dataType:'json',
    success:function(data){
    var o=data.formDomain;
    if (o.status=='1' || o.status==1){ 
    speciRefreshGrid("_div_load","edit".val(),e);
    }else{
    alert(o.errorMsg);
    return;
    }
    },error:function(e){
    alert('服务端报错!'+e.message);
    }
    });
      

  11.   

    让我纠结的是在asp.net 里面我同样是哪样用post json 格式的数据到webserivce 没有问题,为什么在
    jsp 中用 这种方法post 数据到 servlet 就让我这么痛苦继续求救。
      

  12.   

    把contentType去掉或改过来之后再把
    var str1="{Name:'张三',Sex:'男',Birthday:'1999-09-09',Married:'已婚'}" ;
    你这样定义它只是个字符串不是对象,最外面的""去掉
    var str1={Name:'张三',Sex:'男',Birthday:'1999-09-09',Married:'已婚'};
    这才是对象
      

  13.   

    问题找到了,不是客户端脚本的问题,而是servlet 端出了问题,对不住了各位仁兄,分少了点下次我给点
      

  14.   

    请教楼主,哪里出的问题。我这里也是GET 123条记录修改保存OK,抓取124条记录保存修改POST提交,也提示无效字符串 。
      

  15.   

    context.Response.ContentType = "application/json";//设置返回客户端格式
    context.Response.ContentType = "application/text";//设置返回客户端格式服务器端返回给客户端的格式和你前台ajax接受的不一致。