1

私のような問題を抱えている人を何人か見ましたが、ほとんどの修正は関連していないようです。送信されたフォームを受け取る次のjqueryがあります。encyptsはSHA256で渡され、フォームをJSONオブジェクトにシリアル化してから、json stringifyを使用してjsonをプレーンテキスト形式にフォーマットし、ASPXサービスに渡します。サービスはXMLを返します。これは、Firefox、Chrome、Safari、Opera、iOS Safari、Blackberry、およびデフォルトのAndroidブラウザで正常に機能します。IEでは、常にエラーを呼び出します。誰かがここで何かアイデアを持っていますか?

$(function() {
  $('form').submit(function() {
   $('#password').val($.sha256($('#password')));
    var jsonTest =  JSON.stringify($('form').serializeObject());
    $('#result').text(jsonTest);
    $.ajaxSetup({cache: "false"});
    $.ajax({
        type: "POST",
        url: "http://mydomain.com/JSONService.asmx/WebRequest",
        data: "request=" + jsonTest,
        contentType: "application/x-www-form-urlencoded; charset=utf-8",
        crossDomain: true,
        dataType: "xml",
        success: function(xml){

                var myVals = $(xml).find('string').text();
                $('#result').text(myVals);
                alert(myVals);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Error: " + errorThrown);
        }
    });
return false; 

そして私の(関連する)HTML:

<!doctype html>
<!-- Conditional comment for mobile ie7 blogs.msdn.com/b/iemobile/ -->
<!--[if IEMobile 7 ]>    <html class="no-js iem7" lang="en"> <![endif]-->
<!--[if (gt IEMobile 7)|!(IEMobile)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

<head>
  <meta charset="utf-8">

  <title>Test Form</title>
  <meta name="description" content="">

  <!-- Mobile viewport optimization h5bp.com/ad -->
  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <meta name="viewport" content="width=device-width">

  <!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading -->
  <meta http-equiv="cleartype" content="on">

  <!-- more tags for your 'head' to consider h5bp.com/d/head-Tips -->

  <!-- Main Stylesheet -->
  <link rel="stylesheet" href="css/style.css">

  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
  <script src="js/libs/modernizr-2.0.6.min.js"></script>
</head>

<body>

  <div id="container">
    <div id="main" role="main">
        <div id="logBox">
        <img alt="Logo" src="img/logo.png" style="margin-left: 5px;" />
        <div id="blackHead">Please Sign-In To Continue</div>
        <form name="login" method="post" action="#">
<label for="sessionemail">Email</label><br />
<input autofocus="autofocus" autocapitalize="off" maxlength="150" id="sessionemail" name="sessionemail" title="Your email" type="text" value="" class="inputText" /><br />
<br />
<label for="password">Password</label><br />
<input type="password" name="password" id="password" title="Password" value="" class="inputText" /><br />
<br />
<input type="hidden" name="sessionid" id="sessionid" value="<?php echo $sessionNumber ?>"  />
<input type="hidden" name="subtocall" id="subtocall" value="g2.web.login.sub" />
<input type="submit" value="Sign-In" name="submit" class="submitBox" />

</form>
    <div id="greyFoot">Forgot your password? <a href="#">Click here now!</a><br />
        <pre id="result">
</pre>
    </div><!-- end #greyFoot -->
    </div><!-- end #logBox -->
    </div><!--end #main -->
  </div> <!--! end of #container -->
</body>
</html>

私は本当にすべての助けに感謝します。Firebugはエラーをスローしていません。私は、IE以外のすべてでFirebugがどのように機能するかについて本当に困惑しています。私はCSSでこれに慣れていますが、JSでは慣れていません!

編集-「トランスポートなし」と表示されるerrorThrownを表示するようにエラーを変更しました。

4

1 に答える 1

1

これがローカルドメインリクエストであるかどうかはわかりませんが、リモートリクエスト、つまりgetJSONであるかどうかに関係なく、クロスドメインajax呼び出しをサポートしていないかどうかはわかりません。難しい方法を学びました...

于 2012-07-26T15:46:17.767 に答える