我正在尝试从jQuery POST获取数据字符串到aspx页面。但没有运气。
这是我的jQuery
Tue Dec 08 14:13:40 CST 2015
Sun Mar 18 02:49:58 CST 2012
17 Mar 2012 18:49:58 GMT
2012-3-18 2:49:58
2012-03-18T02:49:58+08:00
在aspx的开头我有这个
function namePerson() {
$.ajax({
type: "POST",
url: "names.aspx",
data: {name : "Anders"},
beforeSend: function() {
$("#ViewContainer").html("<img src='loading.gif' />");
},
success: function(msg){
$("#ViewContainer").html(msg);
}
});
}
我可以看到'name'字符串是通过浏览器中的debug发送的。但我无法找回它。 我来自经典的ASP,正在尝试学习ASP.net C#。我找不到任何搜索结果来解释如何执行此操作。
非常感谢=)
答案 0 :(得分:2)
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "CS.aspx/GetCurrentTime",
data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
在C#-----
[System.Web.Services.WebMethod]
public static string GetCurrentTime(string name){
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
答案 1 :(得分:0)
您应该使用WebService。
[WebService, ScriptService]
public class WebService1 : WebService
{
[WebMethod]
public string names(string name)
{
return "Hello " + name;
}
}
然后使用Javascript从客户端调用它。
function namePerson() {
$.ajax({
type: "POST",
url: "WebService1.asmx/names",
data: JSON.stringify({ name: "Anders" }),
contentType: "application/json; charset=utf-8",
beforeSend: function () {
$("#ViewContainer").html("<img src='loading.gif' />");
},
success: function (msg) {
$("#ViewContainer").html(msg.d);
alert(msg.d);
}
});
}
请确保contentType: "application/json; charset=utf-8"
存在,否则网络服务将使用XML进行响应。
此外,您应该使用done
代替success
。
答案 2 :(得分:0)
您正在正确呼叫JQuery.AJAX
。这行不正确。
url: "names.aspx",
我认为您尝试呼叫的网页names.aspx
中可能有某种方法。考虑一下像names.aspx
这样的页面,在该页面内(代码隐藏文件),你有一个根据提供的数据获取名称的方法,所以方法定义和声明就像
[WebMethod]
public void GetNames(string name)
{
...
}
你的JQuery AJAX调用网址就像
url: "names.aspx/GetNames",
希望它可以帮助您了解如何调用方法视图JQuery.AJAX
答案 3 :(得分:0)
如果您使用ASMX文件制作Web服务,请参阅
详细文章 Simple Asp.net jQuery ajax Example, C# WebMethod with sql database
同一页面上的ELSE CodeBehind如下所示
<强>代码隐藏:强> 在names.aspx页面上添加此功能,将其设为STATIC
[WebMethod]
public static string names(List<string> obj)
{
string result = string.Empty;
// code Logic
string n1=obj[0];
string n2=obj[1];
string n3=obj[2];
return result;
}
现在使用jquery ajax
调用此函数JS代码:
function namePerson() {
var aData = [];
aData[0] = "John";
aData[1] = "Andrea";
aData[1] = "Leslie";
var jsonData = JSON.stringify({ obj: aData });
$.ajax({
type: "POST",
url:"names.aspx/names",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnError_
});
}
function OnSuccess_(response){
var result=response.d;
alert(result);
}
function OnError_(error){
alert(error);
}