2010-04-14 31 views
0

我想使用jQuery ajax发送三个文本框值到服务器。问题是,我不知道发送三个数据的确切语法。当我尝试发送一个数据(也改变参数为一个在服务器端方法),它会很好,但是当我尝试发送三个文本框值,它给jQuery的错误:“内部服务器错误”。我想我不是以正确的方式发送数据。请有人告诉我该怎么做。用jQuery发送3个文本框值到服务器端方法ajax

下面是代码:

function testCAll() { 
$.ajax({ 
    type: "POST", 
    url: "dbTest1.aspx/SendMessage", 
    data: "{'name': '" + $('#Eid').val() + "', 'phone': '" + $('#phn').val() + "'}", 
    //data: "{'phone': '" + $('#CustomerPhone').val() + "'}", 
    //data: "{'color': '" + $('#ColorId').val() + "'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(result) { 
     resultData = eval("(" + result.d + ")"); 
     $("#rawResponse").html(concatObject(resultData)); 
    }, 
    error: function(result) { 
     alert("jQuery Error:" + result.statusText); 
    } 
}); 

}

+0

也许问题出在你的服务器 - 端代码,而不是你的Javascript。 – Pointy 2010-04-14 14:32:21

+0

你是对的,我已经尝试过检查问题是否在服务器端或客户端。现在我发现这个问题在服务器端。谢谢 – amby 2010-04-14 17:25:33

回答

1

你现在如何对数据进行编码代替,尝试这样做:

data: {'name': $('#Eid').val(), 'phone': $('#phn').val() } 
+0

谢谢,但问题仍然存在 – amby 2010-04-14 14:23:46

1

创建一个临时对象是这样的:

tempcustno = $("input[id$="cusnoid"]").val; 
tempcustname = $("input[id$="custnameid"]").val; 
tempcustdept = $("input[id$="custdeptid"]").val; 

var jsonobj= { 
    Custnumber:tempcustno, 
    Custname:tempcustname, 
    Custdept:tempcustdept 
}; 

var sdata= JSON2.stringify(jsonobj); 

$.ajax { 
    contentType: "application/json; charset=utf-8", 
    data:sdata, 
    datatype:json, 
    //---- 
} 
相关问题