2017-06-27 14 views
0

私はvb.netページからAJAX投稿をする必要があります。この投稿には、投稿を検証するために必要なxmlファイルが添付され、リンクに送信されます。私は投稿をしても、ファイルが提出されても、何かエラーが出ません。私はこの質問に私のコードを追加します、ありがとうございます。AJAX post via vb.net

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 

エンドクラス

This is the javascript output

+1

これで最終的に出力されるJavaScriptコードはどのように見えますか? – CBroe

+0

出力画像を質問 –

+1

に添付しました。いくつかの構文エラーが発生するはずです。まず、複数の場所でテキストリテラルを引用符で囲まれていません。 – CBroe

答えて

0

引用符とそのコードで行方不明中括弧がありました。また、スクリプトは決して呼び出されなかった関数を宣言していました。

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エンコーディングを持っていると信じていますが、クロスドメインリクエストであるため、ここでテストすることはできません。