当我尝试通过其他问题学习时,仍然无法让它工作
到目前为止,这是我的代码,试图尽可能彻底地完成。
事件(点击后)
var resluts = []; //its a collections of id's - list items of unsorted list as strings
$('#next').click(function() {
var RLength = resluts.length;
alert(resluts);
});
ajax POST
function UbpdateSecondStage(arr) {
var WebMethod ="GetSecondStageData";
var page ="Default.aspx/";
var target = page + WebMethod;
var SendParameters = Sys.Serialization.JavaScriptSerializer.serialize(arr);
jQueryAjxUpdt(target, SendParameters);
}
function jQueryAjxUpdt(targetUrl, SentPars) {
$.ajax({
type: 'POST',
url: targetUrl,
data: {
'sentobj':SentPars
},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//alert(data);
}
});
}
C#
[WebMethod]
public static string GetSecondStageData(object sentobj)
{
var x = sentobj;
return ?? ...do i have to give a return.. even if i do not require one ?
}
我的代码出了什么问题?这是我第一次尝试这种方法。 感谢。
我已经更新了几次请再读一遍
答案 0 :(得分:6)
像这样修改WebMethod
,然后重试:
[WebMethod]
public static string GetSecondStageData(object sentobj)
{
var x = sentobj;
return DateTime.Now.ToString();
}
答案 1 :(得分:1)
首先,您应该从服务器返回指定您传递的内容(发送到服务器)以及您获得的响应(如果运气好的话)。如果它正在抛出或发出任何错误,那么也应该指定。
其次,不需要使用以下代码。
var WebMethod ="GetSecondStageData";
var page ="Default.aspx/";
var target = page + WebMethod;
var SendParameters = Sys.Serialization.JavaScriptSerializer.serialize(arr);
你也可以像这样工作
var test=new Object();
test.myArray=arr;
jQueryAjxUpdt("<Relative path to the directory such as '../home/default.aspx' >", JSON.stringify(test))
再次更改ajaxFunction,如下所示
function jQueryAjxUpdt(targetUrl, SentPars) {
$.ajax({
type: 'POST',
url: targetUrl,
data: SentPars,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//alert(data);
}
});
}
没有经过测试,但我想如果不这样做会让我知道。 ;-)
最后,我猜你没有在default.aspx页面中保留任何内容,只有@page
指令,即使你没有指定[WebMethod]
属性,它也能正常工作。
答案 2 :(得分:1)
请尝试以下代码
的JavaScript
function UbpdateSecondStage(arr) {
var WebMethod ="GetSecondStageData";
var page ="Default.aspx/";
var target = page + WebMethod;
var SendParameters =arr;
jQueryAjxUpdt(target, SendParameters);
}
function jQueryAjxUpdt(targetUrl, SentPars) {
$.ajax({
type: "POST",
url: targetUrl,
data: '{"results": "' + SentPars + '"}',
contentType: "application/json; charset=utf-8",
processData: false,
dataType: "json",
success: function(msg) {
//alert(msg);
here your code
},
error: function(x, e) {
if (x.status == 500) {
alert("An error has occurred during processing your request.");
}
}
});
}
C#
[WebMethod]
public static string GetSecondStageData(object results)
{
var x = results;
return DateTime.Now.ToString();
}
让我知道结果。