IFrame的JQuery Post无法正常工作

时间:2012-10-05 04:40:16

标签: jquery post iframe

<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中没有显示任何内容。但是,如果我使用common action =“http://www.website.com/main/post.cfm”,它会成功返回重新加载整个IFrame的消息。

ColdFusion页面的$ .post会出现问题吗? 有没有工作或替代?

2 个答案:

答案 0 :(得分:0)

检查服务器的跨域策略。对于跨域get方法调用,请使用JSONP

答案 1 :(得分:0)

简短的回答是&#34;不,在ColdFusion页面上没有问题$ .post&#34;。 CFM代码 - 在ColdFusion服务器上运行 - 完全不知道它接收的请求是如何实现的:似乎没有人在地址栏中键入URL,单击链接,提交表单或触发请求的某个客户端脚本之间没有区别。所以这不是ColdFusion问题。

您可以在此处查看故障排除(或报告): *有任何Javascript错误? (如果是的话:什么?) *是实际发出的post()请求,如果是,那么HTTP请求的详细信息是什么,是否得到响应?

暂时将post()调用转换为vanilla ajax()调用可能是值得的,因此您可以指定一个错误处理程序,这样您就可以做出反应,如果出现错误(比如将错误写出来)控制台等)。