1

Chrome 開発者の JavaScript コンソールで次の警告が表示されます。

Uncaught SyntaxError: Unexpected token < http://.../Question.asmx/js (1 行目)

リソースはスクリプトとして解釈されましたが、MIME タイプ text/html で転送されました。 http://.../Question.asmx/js

HTML ソース コードは問題ないようです。

<script src="../../../Question.asmx/js" type="text/javascript"></script>

ASP ScriptManager を使用して、これらの Web サービスを組み込みます。それらは正常に機能します。問題が正確に何であるか、OCDの問題があるため、警告を取り除く方法を考えていました。

編集: 関連するカスタム ハンドラーはありません。これは、scriptmanager を使用して含める標準の WebService です。

<asp:ScriptManager runat="server" ID="scm1" EnablePageMethods="true" EnablePartialRendering="true" >
        <Services>
            <asp:ServiceReference Path="~/Question.asmx" />
        </Services>
    </asp:ScriptManager>
4

3 に答える 3

1

2 番目の警告は、カスタム ハンドラー (Question.asmx) が、送り返すリソースの MIME タイプを正しく設定していないためです。

ProcessRequest メソッドに以下を追加する必要があります。

context.Response.ContentType = "text/javascript";

HTMLページが有効であるためには <!Doctype 要素で始まる必要があるため、おそらく最初のエラーも取り除かれます。これは、エラーが不平を言っていると私が信じていることです。

于 2009-03-16T14:10:49.560 に答える
0

多分これはあなたが必要とするものですか?http://blog.lavablast.com/post/2008/10/Gotcha-WebKit-%28Safari-3-and-Google-Chrome%29-Bug-with-ASPNET-AJAX.aspx

于 2009-11-10T17:02:46.397 に答える
0

Chrome でのエラーの原因は不明ですが、回避する方法の 1 つは、サービス プロキシ (question.asmx/js) の JavaScript をページに直接埋め込むことです。これは、クライアントのダウンロードが大きくなりますが、サーバーへの往復が 1 回少なくなります (サイトの認証方法によっては 2 回少なくなります)。

ServiceReference タグに InlineScript="true" を設定するだけです

詳細については、http: //weblogs.asp.net/dwahlin/archive/2006/12/28/understanding-asp-net-ajax-web-service-proxies.aspx を参照してください。

于 2009-08-14T17:28:18.037 に答える