2017-03-24 23 views
-1

私はAJAXリクエストに関する問題があり、javascript関数からVBで簡単なメッセージボックス関数を実行するように要求しています。この関数は動作しませんが、AJAXリクエストは成功ステータスを返します。ビジュアルスタジオ2015(ASP Webフォーム)を使用しています。AJAXリクエストは成功を返すが、実行されない

これは私がここでこれを見つけることができなかったので、これは重複しないことを望みます。

"のDefault.aspx" のボタンで実行

JAVASCRIPTの一部 :

<script type = "text/javascript"> 
    function JScallVBmethod() { 

    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/Default.aspx.vb/message", 

     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function() { 
      alert("success"); 
     }, 
     failure: function() { 
      alert("failure"); 
     } 
    }); 
} 
</script> 

VB機能が

Partial Class _Default 
    Inherits Page 
    <System.Web.Services.WebMethod()> 
    Public Sub message() 

     MsgBox("WORKS VB") 

    End Sub 
End Class 

ボタンをクリックすると、 "Default.aspx.vb" で実行することが、JS関数が実行されますVB関数を実行せずに成功を返します。私はVB関数を直接呼び出す場合、それはページPostBackを含むしかし、動作します。設定ファイルの設定で何かかな?

+2

なぜ.NET Webアプリケーションにメッセージボックスを表示しようとしますか?使用しているURLも疑わしいと思われます。 –

+0

質問を編集するのではなく、それを回答として投稿して、他の人がどのように修正したかを知るようにしてください。サイトの仕組みを理解するために[ツアー]をご検討ください。 – Bugs

答えて

0

私は最終的にそれを修正しました。

VBモジュールでImports System.Web.Servicesが見つかりませんでした(C#の場合はusing System.Web.Servicesに相当)。

また、URLは正しくありません。これは、間違っているVBモジュールに向けられました。これはurl: "Default.aspx/message"に変更されました。

0

私はMVC.C#に詳しいので、間違っている可能性があります。しかし、これが似ている場合、あなたのWebアプリケーションはスタンドアロンアプリケーションではなく、IISで動作しますか? IISは実行されている実際のアプリケーションです。また、Windowsフォームアプリケーションやコンソールアプリケーションから通常行うことができるような状況では、実行できないことがいくつかあります。これは部分的にセキュリティ上の理由によるものです。しかし、実用的な理由からも。サーバーはユーザーの介入なしに実行されるため、IOは実際には意味がありません。

関連する問題