小编mob*_*obi的帖子

Ajax调用php脚本返回404错误

我是一名WordPress设计师,我为我的一个主题开发了一个联系表单,通过jQuery验证.

请检查下面的代码,然后阅读下面的注释.

$('.submitemail') .click(function() {

    //VALIDATION CODE GOES HERE

    if ( /*VALIDATED SUCCESSFULLY*/ ) {


        $.ajax({
            type: 'POST',
            url: templatePath+'/lib/scripts/sendEmail.php',
            data: 'visitorname=' + visitorname + '&visitoremail=' + visitoremail + '&visitormessage=' + visitormessage,

            success: function(contactResults) {
                //SUCCESS CODE
            }

        });
    }
});
Run Code Online (Sandbox Code Playgroud)

笔记:

  • sendEmail.php是一个使用PHPmailer类发送电子邮件的正确脚本.
  • templatePath变量具有完整模板路径的值,如下所示:http://somedomain.com/wp-content/themes/themename
  • 上面的jQuery代码位于lib/scripts/jfunctions.js(php脚本的同一目录)
  • 整个过程(ajax和php)在许多服务器中完美地工作,(由我和其他服务器在我的主题用户的两台服务器中测试).

问题:

在某些服务器中,当成功传递对sendEmail.php的ajax调用并处理php脚本并发送电子邮件时,不会触发成功处理程序.

当我用firebug检查为什么没有触发成功处理程序时,firebug显示"找不到404错误",这就像是一个误报.

可能的原因:

我认为某些服务器配置为阻止此类ajax调用.

这个奇怪的问题可能是什么原因造成的?怎么解决?

提前致谢.

@nowk:sendEmail.php代码是:

<?php 
// Code for loading WordPress environment goes here //

$themeName_optionTree = get_option('option_tree');

$name = trim($_POST['visitorname']);
$email = $_POST['visitoremail'];
$message = $_POST['visitormessage'];


$site_owners_email …
Run Code Online (Sandbox Code Playgroud)

php ajax wordpress jquery http-status-code-404

12
推荐指数
1
解决办法
3万
查看次数

标签 统计

ajax ×1

http-status-code-404 ×1

jquery ×1

php ×1

wordpress ×1