使用ajax将数据从javascript传递到asp.cs的问题。 它不起作用。我想传递一个包含列表框结果的字符串。 怎么了? 感谢
public static bool AddNewItem(string name, string surname, int age)
{
return true;
}
<input type="submit" value="OK" id="enter" runat="server" onclick="submitAjax()" />
function submitAjax() {
var listBox = document.getElementById('SubCat');
var i;
var str=listBox.options[0].text;
for(i=1;i<listBox.options.length;i++)
str=","+listBox.options[i].text;
$.ajax({
type: 'POST',
url: 'RicercaAdvForn.aspx/AddNewItem',
data: '{str}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d) {
alert("Successfully added new item");
}
},
error: function () {
alert("Error! Try again...");
}
} );
}
答案 0 :(得分:0)
您必须单独传递参数。
data: {name: 'someName', surname: 'someSurName', age: 20}
答案 1 :(得分:0)
data: '{str}',
会将字符串文字“{str}”传递给你的代码 - 可能不是你的意思。请尝试使用JSON.stringify代替:
$.ajax({
...
data: JSON.stringify({ parameterName: str }),
...
其中parameterName
是您的代码隐藏方法所期望的参数的名称。
答案 2 :(得分:0)
尝试使用
data: {str},
不
data: '{str}',
但最好的问题是使用@Marcus Recck回复。
问候。