【问题标题】:AJAX post via vb.net通过 vb.net 发布 AJAX
【发布时间】:2017-11-30 10:09:59
【问题描述】:

我需要通过我的 vb.net 页面发布 AJAX 帖子。该帖子还附加了验证帖子所需的xml文件,然后将其提交到链接。我发帖时没有收到任何错误,但文件也没有提交。我会将我的代码添加到这个问题中,在此先感谢。

Public Shared XMLString As String

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim xmldoc As New System.Xml.XmlDocument
    xmldoc.Load("d:/jobfeed.xml")
    XMLString = xmldoc.OuterXml
    ClientScript.RegisterStartupScript(Me.GetType(), "script", POSTtoEP)


End Sub



Public Shared Function POSTtoEP() As [String]
    Dim strurl As String = "https://www.executiveplacements.com/Job_Post_Xml.asp"
    Dim strType As String = "POST"
    Dim sb As New StringBuilder()
    sb.Append("<script type = 'text/javascript'>")
    sb.Append("function POSTtoEP () {")
    sb.Append("$.ajax({")
    sb.Append("type:" & strType & ",")
    sb.Append("url:" & strurl & ",")
    sb.Append("data: { XmlPacket:" & XMLString & ",")
    sb.Append("contentType: application/x-www-form-urlencoded")
    sb.Append("dataType: xml,")
    sb.Append("success: function(data){,")
    sb.Append("},")
    sb.Append("error:function(){")
    sb.Append("alert('Error processing data. Please try again.);")
    sb.Append("}")
    sb.Append("}")
    sb.Append("}")
    sb.Append("});")
    sb.Append("</script>")
    Return sb.ToString()
End Function

结束类

【问题讨论】:

  • 那么这个输出的 JavaScript 代码最终是什么样子的呢?
  • 我已将输出图像附加到问题中
  • 这看起来应该会导致几个语法错误......对于初学者来说,它在多个地方错过了文本文字的引号。
  • 没错,如果它给了我一个错误,那会更好,因为我可以从那里解决它,但是帖子没有输出。有什么建议吗?
  • 那么建议您修复那些错误...

标签: asp.net ajax vb.net


【解决方案1】:

该代码中缺少引号和大括号。该脚本还声明了一个从未调用过的函数。

Public Shared Function POSTtoEP() As [String]
    Dim strurl As String = "https://www.executiveplacements.com/Job_Post_Xml.asp"
    Dim strType As String = "POST"
    Dim sb As New StringBuilder()
    sb.AppendLine("<script type = 'text/javascript'>")
    sb.AppendLine("function POSTtoEP () {")
    sb.AppendLine("$.ajax({")
    sb.AppendLine("type:""" & strType & """,")
    sb.AppendLine("url:""" & strurl & """,")
    sb.AppendLine("data: { XmlPacket:""" & XMLString & """},")
    sb.AppendLine("contentType:""application/x-www-form-urlencoded"",")
    sb.AppendLine("dataType: ""xml"",")
    sb.AppendLine("success: function(data){ ")
    sb.AppendLine("alert(data);")
    sb.AppendLine("},")
    sb.AppendLine("error: function(error, message){")
    sb.AppendLine("alert('Error processing data. Please try again.');")
    sb.AppendLine("}")
    sb.AppendLine("});")
    sb.AppendLine("};")
    sb.AppendLine("POSTtoEP();")
    sb.AppendLine("</script>")
    Return sb.ToString()
End Function

此代码呈现正确的 javascript。但是,如果 Job_Post_Xml.asp 没有返回“application/x-www-form-urlencoded”,则需要修改 ContentType。否则会产生解析错误。我相信 Job_Post_Xml.asp 有 gzip 编码,但不能在这里测试,因为它是跨域请求。

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2013-11-06
    • 2015-11-04
    相关资源
    最近更新 更多