经典的ASP Ajax Post调用不起作用

时间:2017-09-08 10:43:39

标签: jquery ajax asp-classic

我正在尝试从.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代码位于不同的页面中。

0 个答案:

没有答案