从外部php文件重定向页面(在ajax调用中)

时间:2015-02-11 21:42:06

标签: javascript php ajax redirect iis

我正在使用这个Salesforce“Web-to-Lead”表单(在IIS服务器上),我在Ajax调用中正确验证(使用roscripts.com ajax验证作为起点) ...这使用Mootools库来执行其Ajax功能),以及使用cURL发送所有经过验证的数据,但是我希望在验证成功后将表单重定向到新页面。每次单击“提交”按钮时都会运行Ajax调用,并在页面上显示错误或运行验证代码“else”部分中包含的任何内容。

Ajax功能:

window.addEvent('domready', function() {
  $('registerForm').addEvent('submit', function(e) {
    new Event(e).stop();
    var log = $('log_res').empty().addClass('ajax-loading');
    this.send({
      update: log,
      onComplete: function() {
        log.removeClass('ajax-loading');
        //adding a header redirect here works, but redirects every time ajax call runs, regardless if validation succeeds or not
      }
    });
  });
});

“动作”php文件功能:

<?php 
if (rule){ //validation errors } 
else { //where all of the logic happens after validation succeeds

//cURL function 

//redirect attempts:
header( 'Location: http://www.place.com'); // doesn 't work

echo '<meta http-equiv="refresh" content="2" ; url="http://www.place.com">'; //resets the form, but doesn't redirect to www.place.com 
};
?>

我完全被困在这里,无论我怎么努力,我都无法重新定位这个蠢货。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

从我所知的MooTools AJAX,onComplete处理程序将在AJAX完成时触发 - 即使有错误。这可能适用于删除加载邮件,但您可能希望onSuccess用于成功的处理程序,onFailure用于失败的请求。虽然您的脚本似乎没有直接使用MooTools,但这就是MooTools AJAX的工作原理。

参见&#34; Ajax!&#34;有关示例的http://mootools.net/部分。