2012-02-11 15 views
0

jquery ajax $.post()メソッドがSafari 3.2.3(525.29)で動作しましたか?

ユーザーが入力に入力すると動的に情報を取得しようとしていますが、動作しないようです。

また、Safariの他のバージョン(これはバージョン5でテストしたばかりです)でも、これはうまく動作していますし、IEなども動作しています。

誰でも私にこれを確認したり、Safariで$.post()に関する情報を提供したり、jqueryライブラリに関する情報をprimefacesから得ることができますか?

本当にありがとうございます。

EDITED

私はprimefacesでjQueryライブラリを使用していると私は、次の、単なる例やコードスニペットを持っている:

// 1. I imported a base64.js that has this structure: (This .js is obfuscated for security) 

// methods situated at base64.js 
var key = "b3NjYXJqY"; 


    function base64key(){ 
     this.key = function(){ 
      return key; 
     }; 
    } 

function decrypt(val){ 
    //method that just plays with the string passed in the parameter (val) 
    return decryptedString; 
} 

/****************************************************************************/ 
/* 2. Data returned in the callback is an encrypted json from java servlet. */ 
/****************************************************************************/ 

// value from my input 
var identifier = $('#txtid').val(); 

$.post('MyServlet', {identifier : identifier} , function(data) { 

    // MyServlet returns 0 if no data, else returns an encrypted json as base64 generated with a key. 
    if (data != 0) { 

     // base64key() is a method from base64.js that just return a key (like b3NjYXJqY) 
     var b = new base64key(); 

     // variable that contains encrypted json as string 
     var temp = data.replace(b.key().substring(5), ''); 

     // decrypt the json (temp variable) 
     var json = decrypt(temp).replace(b.key(), ''); 

     // parse the json string 
     var info = JSON.parse(json); 

     // fill the inputs with data 
     $('#txtname').val(info.name); 
     $('#txtemail').val(info.email); 
     $('#txtphone').val(info.phone); 
}); 

/**********************************************************************************/ 
/* 3. Just to have an idea of the "data" structure, this is the decrypted json. */ 
/**********************************************************************************/ 
{"name": "Oscar Jara", "email": "[email protected]", "phone": "+45 88779900"} 
+2

例を示してください。 – powtac

+0

'$ .post()'呼び出しを実行するJavaScriptコードを投稿できますか?入力にユーザーが入力したコードを含みますか? – Jasper

+0

さて、すべて更新しました。確認してください。 –

答えて

0

私は

...自分の質問にお答えします

問題はjQuery POSTではありませんでした。問題はJSONで、一部のブラウザとは互換性がありません。

http://caniuse.com/json

と私はサファリとエラーとこのようなエラーに直面していた開発者のコ​​ンソールに「認識できJSON変数wansn't」が登場。

これを解決するには、本当にうまくいくjson2.jsというライブラリを使用する必要があります。 ここでは、ドキュメントとダウンロードを見つけることができます:

https://github.com/douglascrockford/JSON-js

関連する問題