外部php文件的插件AJAX总是返回空

时间:2014-10-07 作者:Roi

我现在正在与这个错误斗争一段时间。

插件将数据插入到表中。

代码如下:

文件:plugin/\\u add。php

require_once(\'../../../wp-load.php\');

global $wpdb;
$table_name = $wpdb->prefix . \'westpac_store\';
$result = $wpdb->insert( 
        $table_name, 
        array(  
                \'itemModel\' => $_POST[\'itemModel\'], 
                \'itemCat\' => $_POST[\'itemCat\'],
                \'itemManu\' => $_POST[\'itemManu\'], 
                \'itemImg\' => $_POST[\'itemSpec\'], 
                \'itemSpec\' => $_POST[\'itemDesc\'], 
                \'itemDesc\' => $_POST[\'itemImg\'], 
                \'itemPrice\' => $_POST[\'itemPrice\'], 
                \'itemPriceDiscount\' => $_POST[\'itemDiscount\'], 
        )
);

return ( $result == true ? \'success\' : \'error\' );
文件:plugin/\\u common。js公司

jQuery(document).ready(function() {

    //Add Item Submit
    jQuery(document).on(\'submit\',\'#westpac-store-add\',function(event){
        event.preventDefault();

        var $form = jQuery(this);
        // let\'s select and cache all the fields
        var $inputs = $form.find("input, select, button, textarea");
        // serialize the data in the form
        var itemData = $form.serialize();

        $inputs.prop("disabled", true);

        jQuery.ajax({
            cache: false,
            type: \'POST\',
            url: store.directory + \'_add.php\',
            data: itemData,
            success: function(data) {
                console.log(data);
            },
            error: function(data) {
                alert(data.error + \'error\');
            }
        });

        $inputs.prop("disabled", false);
    });
});
事实:1。这个_add.php 不是主插件文件。它是一个管理界面。3、插件工作,数据保存在数据库中,除非输入和数据库中的数据类型不匹配。

问题是我无法得到return 值来自_add.php, 控制台。日志(数据)始终返回"" 即使return 在里面_add.php 使用字符串返回修复。它至少应该是字符串“success”或“error”中的任意一个。

请帮忙!

1 个回复
最合适的回答,由SO网友:Roi 整理而成

我解决了

而不是使用

return ( $result == true ? \'success\' : \'error\' );
使用

echo ( $result == true ? \'success\' : \'error\' );

结束