当推送到临时服务器时,AJAX调用URL 404‘

时间:2015-11-12 作者:Lovelock

我有AJAX表单提交在本地运行良好。但当推送到我的暂存服务器时,进程页面是404\'ing。我也不能直接访问它,因为它是404,但我也在服务器上检查它,并且它在那里100%拥有正确的权限。

AJAX的代码:

$(\'body\').on(\'submit\', \'.product-form\', function(e){
    e.preventDefault();
    $.ajax({
        url : \'/wp-content/themes/hinge_client_theme/page-templates/template-parts/template-logic/send-form.php\',
        type : \'POST\',
        data : thisForm.serialize(),
        before : $(".error-message").remove(),
        success : function(data) {        
            // removed for question
        },
    });
});
发送表单。php在网络标签上显示404ing,有什么想法吗?在当地工作良好。

2 个回复
SO网友:jgraup

看看wp localize script. 它允许您在加载脚本之前将url编码到单独的javascript对象中。get_template_directory 检索当前主题目录的绝对路径。如果您的WP安装目录与本地开发不同,请使用它。如果重命名文件夹或WP_CONTENT 位于不同的位置。

<?php

// Register the script
wp_register_script( \'some_handle\', \'path/to/myscript.js\' );

// Localize the script with new data
$translation_array = array(
    \'send_form_php\' =>  get_template_directory() . \'/page-templates/template-parts/template-logic/send-form.php\', 
);
wp_localize_script( \'some_handle\', \'object_name\', $translation_array );

// Enqueued script with localized data.
wp_enqueue_script( \'some_handle\' );
然后在js文件中可以使用:

<script>
// alerts \'Path to the send-form.php\'
alert( object_name.send_form_php );
</script> 

SO网友:Mateusz Paulski

maybe try this:

$(\'body\').on(\'submit\', \'.product-form\', function(e){
    e.preventDefault();
    $.ajax({
        url : get_template_directory() . \'/page-templates/template-parts/template-logic/send-form.php\',
        type : \'POST\',
        data : thisForm.serialize(),
        before : $(".error-message").remove(),
        success : function(data) {        
            // removed for question
        },
    });
});

相关推荐

自定义模板earch.php中的搜索结果

现在我在搜索结果页面(search.php)中遇到了一个问题,结果是由索引页面模板显示的,而不是它的模板,它显示所有帖子,不管搜索者是否输入了内容我的索引。php页面<?php get_header(); ?> <?php $search = $_get[\'search\']; $args = array( \'post_title_like\' => $search ); $res = new wp_query($args