2011-12-07 8 views
1

jQuery 1.7.1を使用してRuby on Railsアプリケーション(リモートドメイン上にあります)を照会するこのスクリプトがあります。このスクリプトはChromeやIE9でもうまく動作しますが、Firefoxではうまく動作しません。ここでCrossdomain jQuery.ajaxはFirefox 8で動作しないことがありますが、Chrome/IEで動作します

はスクリプトです:

Informer= { 
    getData: function(args) 
    {  
    $.ajax({ 
     dataType: 'jsonp',    
     data: args, 
     url: 'http://localhost:3000/informer.js', 
     beforeSend: function() { 
     alert("beforeSend"); 
     }, 
     error: function() { 
     alert("error"); 
     }, 
     success: function (data) {  
     alert("success"); 
     }, 
     complete: function(){ 
     alert("complete"); 
     } 
    }); 
    } 
} 

私はFirefoxで私が唯一の "beforeSend" を取得しながら、だから、クロームで、私は、3アラートを取得し、この

$(document).ready(function() 
{ 
    Informer.getData(someArgs); 
}); 

のようにそれを呼び出します。私も、火かき棒でのリクエストは見ません。

確かにURLと関係があります。私はそれをhttp://jsfiddle.net/echo/jsonp/に変更しました。 しかし、私はまだ2理由ですしている。要するに

UPD

、ここで私がこれまで持っているものです。

  1. それは3時間が無駄に(すべてで昨日の私のために動作しませんでした、一口)、それは今日する。
  2. それは常に(私は仮定し、スクリプトが失敗した場合、要求が(つまり、私は唯一のbeforeSendアラートを取得)Firebugの
  3. に示されていない、私のアプリのログが更新されないChromeとIE
  4. で動作しますFFは要求を送信しません)
  5. 結果がないjquery-jsonpを使用して試してみました。
  6. 10人中10人がFF8でスクリプトが機能することが報告されました。

Here's interrestedされている人のためのテストスクリプト(もしあれば)

+0

URLが存在することを確認してください。別のJSファイルへのAJAX呼び出しをしてもよろしいですか? Hey、Jemaclus。 – Jemaclus

+0

私が言ったように、スクリプトはChromeで完璧に動作するので、URLは確実に存在します。 informer.jsは実際にはファイルではありません。これはJSONPを返すruby on railsアクションです。 – bassneck

+0

楽しみのために、私はこれをまとめました:http://jsfiddle.net/MarkSchultheiss/NKgyM/ sample。今私の質問は、あなたがあなたが使用しているURLにエラーがない限り、あなたのエラー(警告エラー)は、すべてのブラウザではありませんです。 –

答えて

1

ただ、あなたが有効にする:(私はあなたの...あなたがそこに持っていたものを知ると、偽のではないためハウディ一部を挿入固定パラメータ問題:

Informer = { 
    getData: function(args) { 
     $.ajax({ 
      dataType: 'jsonp', 
      data: args, 
      url: 'http://localhost:3000/informer.js', 
      beforeSend: function() { 
       alert("beforeSend"); 
      }, 
      error: function() { 
       alert("error"); 
      }, 
      success: function(data) { 
       alert("success"); 
     }, 
      complete: function() { 
       alert("complete"); 
     } 
     }); 
    }, 
    howdy: {} 
}; 
var someArgs = { 
    hi: "me" 
}; 
$(document).ready(function() { 
    Informer.getData(someArgs); 
}); 

はEDIT:引数)あなたはこれをテストすることができhttp://jsfiddle.net/MarkSchultheiss/NKgyM/

と返された値をエコーするように設定します。

+0

同じことです。 Chromeで動作し、FFで失敗する:( – bassneck

+0

hmm私がbeforesendの部分でアラートをコメントアウトすると、エラーアラートが生成されるかどうかわかりません。申し訳ありませんが、テストするブラウザはありません。 –

+0

悲しいことに、それはありません。私は私の質問を更新しました... – bassneck

関連する問題