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

时间:2011-02-08 04:49:57

标签: jquery asp.net json asmx

我想使用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原语异常。看一下POST:

  

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

     

测试}

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

2 个答案:

答案 0 :(得分:0)

在呼叫发布数据之前设置一个断点,并查看您发送给服务器的值。 还

  1. 更改
  2.   

    $( “#TextBoxContent”)。文本()

      

    $( “#TextBoxContent”)。VAL()

    1. 如果p.1没有帮助;尝试替换
    2.   

      数据:“{'mId':

      数据:“{mId:”

答案 1 :(得分:0)

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

$.ajax({
    type: "POST",
    url: "MemogramWebServices.asmx/UpdateMemogramContent",
    data: { 
        mId:     $("#LabelId").text(), 
        content: $("#TextBoxContent").text()
    },
    ...
});

否则,您也可以使用JSON.stringify,如下所示:

var json_data = JSON.stringify({ 
    mId:     $("#LabelId").text(), 
    content: $("#TextBoxContent").text()
});

$.ajax({
    type: "POST",
    url: "MemogramWebServices.asmx/UpdateMemogramContent",
    data: json_data,
    ...
});