我正在尝试从.NET服务请求XML,我需要通过Classic ASP代码在DB中输入。我正在使用两个AJAX请求来执行相同操作。
通过1st我调用.NET代码并接收XML。在第二个AJAX中,我将XML发送回ASP页面,该页面在DB中输入相同的内容。
这里是AJAX代码
$(document).ready(function () {
$.ajax({
crossDomain: true,
type: "GET",
cache: false,
contentType: "xml/text; charset=utf-8",
async: false,
url: --..Some .NET url...--,
dataType: "text",
success: function (result, status, xhr) {
//var xml_serializer = new XMLSerializer();
//var abc = xml_serializer.serializeToString(result);
var xml = encodeXml(result);
alert(xml);
$.ajax({
type: "POST",
data : { xmlsent: xml },
url: --ASP URL--,
contentType: "text/xml; charset=utf-8",
dataType: "text",
success: function (result1, response , xhr) {
debugger;
alert(xml);
alert(result1);
},
failure: function (response) {
debugger;
alert(response);
}
});
},
error: function (xhr, status, error) {
alert("eRROR");
alert(error);
}
});
});
我的经典ASP代码
Dim cnn, sql
Dim UserID
Set cnn = Server.CreateObject("ADODB.connection")
cnn.Open cConnectionString 'Connection string is set already
UserID= Request.Form("xmlsent") & "abc5"
sql=""
sql = sql & " UPDATE tablename set columnname='" & UserID & "' Where colid = 123"
cnn.Execute(sql)
Response.Write UserID
现在更新Db工作'意味着我的ASP代码被调用但是在DB中设置的值只是“abc5”,这意味着Request.Form(“xmlsent”)为空(这是主要问题)
使用XMl的第一个警报工作正常,我能够在警告框中看到XML。甚至第二个XMl worksi.e
。我的ASP页面也被调用。 Db更新已完成,但null附加“abc5”
注意:Ajax代码与ASP代码位于不同的页面中。