2011-08-16 17 views
2

におけるAJAXやショーの結果と投稿フォーム私はタイトルに言ったものを達成するために、このコードを使用しています:jQueryとCodeIgniterの - fancybox

$("#design-preview").click(function() { 

     e.preventDefault(); 

     var data = $(this).closest("form").serializeArray(); 

     $.ajax({ 
     type  : "POST", 
     cache  : false, 
     url   : base_url, 
     data  : data, 
     success : function(data) { 
      $.fancybox(data, { 
      'type' : 'iframe', 
      'width' : 340, 
      'height': 500 
      }); 
     } 
     }); 
     return false; 
    }); 

問題は、私は放火犯からこれを取得するには、次のとおりです。

"NetworkError: 400 Bad Request - http://domain.info/%3C!DOCTYPE%20html%20PUBLIC" 

それは何らかの形でリンクにフォームの結果を追加します。 なぜ誰かがそれを知っていますか?多分もっと良い提案ですか?

EDIT:Ajaxのポストの応答は、HTMLページです。 HTMLコードは、ファンシーボックスによってリンクに追加されているので、私はこれを少し絞ることにします。ポストが正しく作られた、私は火かき棒でチェックした。

ありがとうございます。

+1

デザイン・プレビューは、フォームのですか?こんにちは: –

+0

URLが入力 – Brad

+0

@Alfonsoのシリアル化された配列を処理し、ファイルまたはコントローラを指すように持っています!いいえ、それはリンクです。ポストヴァースが正しく受信されたのと同じように、クリックハンドラを修正しました。私は、jQuery 15の数字は、リンクが配置されているフォームを取ると思います。 Firefoxでは – cili

答えて

2

私はエラーがURLにある推測:BASE_URLパラメータ要求に無効なURL文字を持っているとして、ただそこにあなたのURLをハードコーディングしてくださいあなたはBASE_URL値を示してもよい、またはあなたが <?=base_url();?>

+0

こんにちは! base_urlはbase_url()が返すものを正確に格納するjavascript変数です。 htmlテンプレートのheadセクションに設定されています。 – cili

+0

@cili:それをもう一度確認したいかもしれません。 base_urlには実際にHTMLの一部が含まれており、CIの 'base_url()'関数の出力は含まれていないようです。 – KyleFarris

+0

私が編集で言ったように、結果(HTMLコード)をファンシーボックスに表示しようとしているので、HTMLコードはfancyboxによってURLに追加されます。これは問題の原因と思われます。 – cili

1

を意味していますそれが動作するかどうかを確認してください。また、あなたのコードの$(this).serializeArray()部分で何を達成しようとしているのかよく分かりません。このメソッドは、フォームの入力をシリアライズするためのものです。私はあなたが提出を引き起こすためのフォームを「クリック」しているとは思わない。

は、私はあなたが何かは、フォームのフィールドに基づいてどのように見えるかを示すために、フォーム内のボタンをクリックしていることを賭けて喜んだ...それが私の例は、以下を前提とするものです。

これを試してみてください:それはyaのために働く場合

$("#design-preview").click(function() { 
    var data = $(this).parent('form').serializeArray(); 
    $.ajax({ 
    type  : "POST", 
    cache  : false, 
    url   : 'http://domain.info/foo', 
    data  : data, 
    success : function(data) { 
     $.fancybox(data, { 
     'type' : 'iframe', 
     'width' : 340, 
     'height': 500 
     }); 
    } 
    }); 
    return false; 
}); 

レムは知っています。

+0

カイルさんに感謝します。「デザインプレビュー」は実際にはリンクです。ハンドラ関数を修正しましたが、問題はfancyboxがajax呼び出しのHTML結果をリンクに追加することです。それに関する提案はありますか?ありがとうございました。 – cili