0
<script>
function sendForm() {
  $.post("http://www.website.com/main/post.cfm",$("#testForm").serialize(),function(data,status){
    $("#result").html(data)
  });
  return false
}

  $(document).ready(function() {
  $("#testForm").submit(sendForm);
});
</script>

IFrame の次のコード:

<form id="testForm" method="post">
<label for="subscriberEmail">Enter your email</label> <input id="subscriberEmail" name="subscriberEmail" type="text" required="yes" validate="email" message="Please enter a valid email address" class="replaceText" value="Enter your email"/>
<input id="subscribe" type="image" src="signup.png"/>
</form>

<div id="result"></div>

div.result には何も表示されません。ただし、一般的な action="http://www.website.com/main/post.cfm" を使用すると、IFrame 全体をリロードするメッセージが正常に返されます。

ColdFusion ページへの $.post に問題がある可能性はありますか? 回避策または代替手段はありますか?

4

2 に答える 2

0

簡単な答えは、「いいえ、ColdFusionページへの$.postの問題は発生しませんでした」です。CFMコード(ColdFusionサーバーで実行)は、受信したリクエストがどのように実装されたかを完全に認識していません。アドレスバーにURLを入力したり、リンクをクリックしたり、フォームを送信したり、リクエストをトリガーするクライアントサイドスクリプトを送信したりしても違いはないようです。 。したがって、これはColdFusionの問題ではありません。

ここでは、トラブルシューティング(またはそのレポート)について少し説明しています。* Javascriptエラーはありますか?(もしそうなら:何?)* post()リクエストは実際に行われていますか?もしそうなら、HTTPリクエストの詳細は何ですか、そしてそれは応答を得ていますか?

post()呼び出しをバニラajax()呼び出しに一時的に変換する価値があるかもしれません。そうすれば、エラーハンドラーを指定して、エラーが発生した場合に対応できます(コンソールへのエラーの書き込みなど)。

于 2012-10-05T06:10:37.987 に答える
0

サーバーのクロス ドメイン ポリシーを確認してください。クロスドメイン get メソッドの呼び出しには、JSONP を使用します

于 2012-10-05T05:12:34.863 に答える