使用jQuery ajax从多行文本框传递值

使用jQuery ajax从多行文本框传递值,jquery,asp.net,json,asmx,Jquery,Asp.net,Json,Asmx,我想使用jQuery.ajax将内容从多行文本框传递到sql数据库 function UpdateMemogramContent() { $.ajax({ type: "POST", url: "MemogramWebServices.asmx/UpdateMemogramContent", data: "{ 'mId': " + $("#LabelId").text() + ", 'content': " + $("#TextBoxCon

我想使用jQuery.ajax将内容从多行文本框传递到sql数据库

function UpdateMemogramContent() {    
$.ajax({
        type: "POST",
        url: "MemogramWebServices.asmx/UpdateMemogramContent",
        data: "{ 'mId': " + $("#LabelId").text() + ", 'content': " + $("#TextBoxContent").text() + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: Success,
        error: Error
    });
}
我面临的问题是,来自多行文本框的内容引发了一个无效的json原语异常。看看这篇文章:

{'mId':314,'content':测试

测试}


如何使用.ajax将多行文本框中的文本传递到sql数据库?

在调用发布数据之前放置一个断点,并查看您向服务器发送的值。 也

  • 改变
  • $(“#TextBoxContent”).text()

    $(“#TextBoxContent”).val()

  • 如果p.1没有帮助;试着替换
  • 数据:“{mId':


    数据:“{mId:”

    为什么不使用像这样的实际JavaScript结构。不过,这会将mId和内容作为标准post参数传递,而不是作为JSON的一部分传递

    $.ajax({
        type: "POST",
        url: "MemogramWebServices.asmx/UpdateMemogramContent",
        data: { 
            mId:     $("#LabelId").text(), 
            content: $("#TextBoxContent").text()
        },
        ...
    });
    
    否则,您也可以这样使用:


    您是否尝试过$(“#TextBoxContent”).val()?在通过之前尝试过使用trim()?正如@Mayank所说,您应该使用val()而不是text()。我使用.text()获得了良好的内容。我改为.val()同样的问题。我应该将内容包装在“”中吗?我建议您删除“mId”和“content”中的单引号。只需使用mId和content。我毫不怀疑这会起作用。我最终使用“content”解决了问题:“+$(“#TextBoxContent”).val()+“}”。传递int时,您可以将其保留,但必须以“text”形式传递文本。谢谢大家!
    var json_data = JSON.stringify({ 
        mId:     $("#LabelId").text(), 
        content: $("#TextBoxContent").text()
    });
    
    $.ajax({
        type: "POST",
        url: "MemogramWebServices.asmx/UpdateMemogramContent",
        data: json_data,
        ...
    });