为什么我得到" POST HTTP://54.xx.xx.xx/wp-admin/admin-ajax.php 500(内部服务器错误)"使用Word preSS + Ajax时? [英] Why do I get "POST http://54.xx.xx.xx/wp-admin/admin-ajax.php 500 (Internal Server Error)" when using Wordpress+Ajax?

查看:1183
本文介绍了为什么我得到" POST HTTP://54.xx.xx.xx/wp-admin/admin-ajax.php 500(内部服务器错误)"使用Word preSS + Ajax时?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是第一次使用了WP AJAX我。 我正在一个简单的接触形式,出于某种原因,每当我点击提交我得到一个错误:

It's the first time for me using ajax on WP. I am working on a simple contact form, and for some reason whenever I click submit I get an error:

在控制台上:

 POST http://54.xxx.xx.xx/wp-admin/admin-ajax.php 500 (Internal Server Error)jquery.js?ver=1.11.1:4 m.ajaxTransport.sendjquery.js?ver=1.11.1:4 m.extend.ajaxmain.js:66 (anonymous function)jquery.js?ver=1.11.1:3 m.event.dispatchjquery.js?ver=1.11.1:3 m.event.add.r.handle

这是铬合金网络:

Remote Address:54.xx.xx.xx:80
Request URL:http://54.xx.xx.xx/wp-admin/admin-ajax.php
Request Method:POST
Status Code:500 Internal Server Error
Request Headersview source
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:73
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:wp-settings-1=editor%3Dtinymce%26posts_list_mode%3Dlist; wp-settings-time-1=1424359234
Host:54.xx.xx.xx
Origin:http://54.xxx.xx.xx
Referer:http://54.xxx.xx.xx/?page_id=73
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Dataview sourceview URL encoded
action:submit_contact_form
fullname:test
email:test@gmail.com
text:test
Response Headersview source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://54.xxx.xx.xx
Cache-Control:no-cache, must-revalidate, max-age=0
Connection:close
Content-Length:0
Content-Type:text/html; charset=UTF-8
Date:Thu, 26 Feb 2015 16:10:19 GMT
Expires:Wed, 11 Jan 1984 05:00:00 GMT
Pragma:no-cache
Server:Apache/2.4.7 (Ubuntu)
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN
X-Powered-By:PHP/5.5.9-1ubuntu4.5
X-Robots-Tag:noindex

这是我的ajax部分:

This is my ajax part:

//send info to php 
    $.ajax({
        beforeSend: function() {
            if ( IsEmail(email) == false) {
                $('#aboutUnsuccess').show("slow");
                $('.form_content').hide("slow");
            }
        },
        url: document.location.protocol+'//'+document.location.host+'/wp-admin/admin-ajax.php', 
        type: "POST", 
        /*action: 'submit_contact_form',*/
        data: ({ "action": "submit_contact_form", "fullname": fullname, "email": email, "text": text }), 
        success: function (results){
            if ( IsEmail(email) == true) {
                //hide table
                $('.form_content').hide('slow', function() {
                    $('.form_content').hide( "slow" );
                  });
                //show textboxes
                $('#aboutSuccess').show("slow");
                $( "#aboutSuccess" ).append( "<iframe id=\"pixel-thing\" src=\"http://54.xxx.xx.xx/wp-content/themes/twentyfifteen-child/thePixel.html\" width=\"1\" height=\"1\"  border=\"0\"></iframe>" );

            }
        }
    }); 


});

这是我的PHP温控功能:

And this is my php fucntion:

// Contact form  Ajax 

add_action('wp_ajax_nopriv_submit_contact_form', 'submit_contact_form'); 

function submit_contact_form(){

    if(isset($_POST['email'])) {

        $email = $_POST['email'];       
        $email_to = "mail@main.com";

        $host = "ssl://smtp.gmail.com:465";
        $username = 'mainmain@mail.com';
        $password = 'pass';

        $email_subject = "You have a new email from $email via asdasd.com website";
        $message = $_POST['text']; 

        $headers = array ('From' => $email, 'To' => $email_to,'Subject' => $email_subject);
        $smtp = Mail::factory('smtp',
          array ('host' => $host,
            'auth' => true,
            'username' => $username,
            'password' => $password));

        $mail = $smtp->send($email_to, $headers, $message);

        if (PEAR::isError($mail)) {
          echo($mail->getMessage());
        } else {
          echo("Message successfully sent!\n");
        }
    }


}

Whay可能是错误的原因是什么?

Whay might be the cause of the error?

我试过的var_dump()在PHP functions.php文件中的变量,它们都显示效果细腻。

I tried var_dump() the variables in the php functions.php file, They all display fine.

当我加入 require_onceMail.php; 在我的PHP文件的顶部,页面只是停止加载。我不知道这就是问题所在。所以我想没有它(?)

when I add require_once "Mail.php"; on the top of my php file, pages just stop loading. I'm not sure this is the problem. So I'm trying without it (?)

推荐答案

错误500是投掷,因为您的服务器没有响应您的来电。

The error 500 is throwing because your server is not responding to your call.

您是否在PHP文件开始尝试用。

Did you tried with at start of the php file.

error_reporting(E_ALL);
ini_set("display_errors", 1);

使用萤火所以会后你调用服务器响应,所以你可以看到错误。

Use firebug so it will post you the call to server and response so you could see the error.

如果你看到一个空白页,那么你在你的PHP文件中错过了一个语法的地方。看看到你的括号,冒号和分号

If you are seeing a blank page,then you missed a syntax somewhere in your PHP file. Have a look into your brackets, colons and semi-colons

这篇关于为什么我得到&QUOT; POST HTTP://54.xx.xx.xx/wp-admin/admin-ajax.php 500(内部服务器错误)&QUOT;使用Word preSS + Ajax时?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆