【发布时间】:2010-09-13 10:03:09
【问题描述】:
我试图通过 jQuery ajax 将自定义 HTML 对象从我的 ASP 2.0 网站发送到我的 web 服务。但我无法让它工作。
当我删除 ObjectHTML 部分时,我的 web 服务中的所有内容都被正确解析。但是当我添加 ObjectHTML 部分时出现错误。
是否可以发送自定义 javascript 对象?
function SavePage() {
var rowCount = $('#pageArea div.object').length;
var i = 1;
var objects = "[";
$('.object').each(function(index) {
var objectHtml = new ObjectHTML($(this).html());
objects += "{'ObjectID': " + "'" + $(this).attr('objectid') + "', 'ObjectIndex': '" + $(this).attr('objectindex') + "', 'ObjectHTML': " + objectHtml + "}";
if (i == rowCount)
objects += ""
else
objects += ",";
i++;
});
objects += "]";
alert("{'objects': " + objects + "}");
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Folder/ObjectService.asmx/SavePage",
data: "{'objects': " + objects + "}",
dataType: "json",
success:
function(msg) {
alert("Success!");
},
error:
function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error Occured: " + errorThrown);
}
});
}
function ObjectHTML(rawHtml) {
this.Html = rawHtml;
}
网络服务代码:
[WebMethod(EnableSession = true)]
public string SavePage(List<PageObject> objects)
{
return "";
}
public class PageObject
{
private string _objectid, _objectindex;
private ObjectHTML _objectHtml;
public string ObjectID
{
get { return _objectid; }
set { _objectid = value; }
}
public string ObjectIndex
{
get { return _objectindex; }
set { _objectindex = value; }
}
public ObjectHTML ObjectHTML
{
get { return _objectHtml; }
set { _objectHtml = value; }
}
}
public class ObjectHTML
{
private string _Html;
public string Html
{
get { return _Html; }
set { _Html = value; }
}
}
【问题讨论】:
-
您遇到的错误是什么?您的函数 ObjectHTML(rawHtml) 没有返回值。
-
我用
var objectHtml = new ObjectHTML($(this).html());初始化对象这行得通,我已经测试过了,objectHtml.html有一个值。
标签: asp.net asp.net-ajax jquery