0

この問題はここで数回取り上げられていることを知っています。宿題をしてチェックし、見つけたすべての解決策を試しましたが、役に立たなかったので、何か不足しているに違いありません。

まず第一に、ajax 呼び出しの目的: これらのデータをデータベースに保存する Web サービスのメソッドに 3 つの文字列パラメーターを送信します。プロセスが成功すると、 true または false を含む json 文字列が返されます

奇妙なことは、すべてがローカルで正常に機能することですが、ファイルをサーバーにアップロードするとすぐに、Web サービスへの ajax 呼び出しが機能しなくなりました...

まず、ブラウザに URL を入力して Web サービスにアクセスできるかどうかを確認しました。私はそれにアクセスして自分のメソッドを見ることができますが、メソッドのいずれかをテストして「呼び出し」ボタンをクリックすると、奇妙なことが起こります。ボタンをクリックすると新しいタブが開き、ページに戻ります利用可能なメソッドをリストします?!? なぜこれが起こるのか誰にも分かりますか?最も基本的な方法である Hello World でさえ機能しません...

問題のデバッグに問題があります。これをデバッグする方法についての洞察が必要です。

最も奇妙なことは、ajax 呼び出しが成功として返されることですが、データベースにデータが保存されていないことです?!?

その他の情報: 私のサイトは URL ルーティングを使用しています。これが Ajax 呼び出しに影響するかどうかはわかりませんが、とにかく言及したかったのです。

皆様のご協力に感謝いたします。

===========================================

編集:問題は解決しました

私のweb.configには、URLの最後に「/」を追加する書き換えルールがあり、それがajax呼び出しを台無しにしていたので、コードにコメントすると、すべてが期待どおりに機能しました。このコードは、Web サービスへの AJAX 呼び出しとうまく連携しないことに注意してください。

Web.config:

<system.webServer>
<rewrite>
  <rules>
    <rule name="AddTrailingSlashRule1" stopProcessing="true">
      <match url="(.*[^/])$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      </conditions>
      <action type="Redirect" url="{R:1}/" />
    </rule>
    <rule name="CanonicalHostNameRule1">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.myDomain\.com$" negate="true" />
      </conditions>
      <action type="Redirect" url="http://www.myDomain.com/{R:1}" />
    </rule>
    <rule name="LowerCaseRule1" stopProcessing="true">
      <match url="[A-Z]" ignoreCase="false" />
      <action type="Redirect" url="{ToLower:{URL}}" />
    </rule>
  </rules>
</rewrite>

============================================

4

1 に答える 1