2011-09-27 12 views
0

私は簡単に連絡フォームを作成し、私のためのメッセージを管理できるウェブサービスを使用します。私は彼らからの直接のリンクがあり、連絡フォームを使って新しいページを開きます。特定のURLでロードが機能しない

これはリンクです: http://apps.cyberth.com/webform/?event=form.show&formId=8957&key=B5220027CF

私はdiv要素にページをロードするために自分のサイトでのjQueryを使用し、他の場所で、サイト上のコードのこの部分がうまく動作します:

$('#news').load("news.html #news"); 

しかし、近くを使用してフォームのURLと同じコードを抜きました。

$("#contactForm").load("http://apps.Cyberth.com/webform/?event=form.show&formId=8957&key=B5220027CF"); 

何が原因でしょうか? jQuery Ajaxがローカルサーバーに保存されていないページを読み込まないようにするセキュリティ上の問題があるかもしれないと読んでいます。

今後どのように問題を特定することができますか?

答えて

0

セキュリティ上の理由から、AJAXはドメインを横断できません。

+0

実際には([CORS](http://www.w3.org/TR/cors/)参照)、かなり近代的なブラウザが必要で、離れたドメインが協力しなければなりません。 – Tgr

2

ブラウザが同じorigin-policyのためにクロスドメインリクエストを許可しないため、

一つの方法は、例えば

はあなたが要求に作る使用しているこれまでの言語/テクノロジ、サーバー側の

$.ajax({ 
url:'/your/domain', 
//other params 
success:function(data){ 
//data received that is sent by the server 
} 
}); 

のように、クライアントからサーバープロキシを呼び出して、Webプロキシを作ることですあなたが希望するサービスは、http://apps.Cyberth.com/webform/?event=form.show&formId=8957&key=B5220027CF であり、クライアント側に応答を送信します。ここ

はいくつかの便利なリンク

http://devlog.info/2010/03/10/cross-domain-ajax/

http://json-p.org/

http://msdn.microsoft.com/en-us/library/dd573303%28v=vs.85%29.aspx

http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-domain-ajax-request-with-yql-and-jquery/

http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

ある
+0

「サーバー側」で「リクエストを行う」方法を詳しく説明できますか?私は比較的経験がなく、すべてのコードをクライアントの側に置いています。 –

+0

あなたが使用しているサーバー側の技術 – Rafay

+0

私の無知を許してください。知りません。私は自分のサイトを立ち上げるためにサーバースペースにサインアップし、それ以来doteasy.comによってホストされています。 –

関連する問題