我正在使用下面的jQuery调用来加载位于同一服务器上的.PHP文件.
但是,使用Chrome的javascript控制台,它在我试图加载的PHP文件中报告“404 not found”.虽然,我可以直接加载文件,只需在控制台中单击该文件即可.
此外,我可以直接从它报告404(未找到)的javascript控制台复制文件的URL,打开一个新选项卡,将其粘贴到地址栏中,然后点击脚本,没有问题.
这是jQuery get方法特有的吗?什么可能导致get方法中的页面为404,但直接调用时执行正常?
$('.colorReset').click ( function() { var myImage = $('#theme :selected').text(); $.get('<?PHP echo get_bloginfo('template_directory') ?>/colorReset.PHP',{theme: myImage,spot: '1'},function(data){doColor('#theme_header_color',data);}); } ); //script never gets to the doColor function,due to the apparent 404 on colorReset.PHP function doColor(el,color) { $(el).val(color).trigger('keyup'); $(el).attr('value',color); $(el).val(color); }
<?PHP require_once('../../../wp-blog-header.PHP'); add_action( 'admin_init','check_user' ); function check_user() { if (!is_user_logged_in()){ die("You Must Be Logged In to Access This"); } if( ! current_user_can('edit_files')) { die("Oops sorry you are not authorized to do this"); } } $myTheme = $_REQUEST['theme']; $spot = $_REQUEST['spot']; $myThemeColor = $myTheme."_color".$spot; $file = "styles/".$myTheme."/template.ini"; if (file_exists($file) && is_readable($file)) { $ini_array = parse_ini_file($file); if($spot == 1){$myColor = $ini_array['color1'];} if($spot == 2){$myColor = $ini_array['color2'];} if($spot == 3){$myColor = $ini_array['color3'];} if($spot == 4){$myColor = $ini_array['color4'];} } else { if($spot == 1){$myColor = get_option('theme_header_color');} if($spot == 2){$myColor = get_option('theme_sidebar_color');} if($spot == 3){$myColor = get_option('theme_spot_color_alt');} if($spot == 4){$myColor = get_option('theme_spot_color_alt2');} } echo $myColor; ?>
作为
described in another answer,加载wp-blog-header.PHP引导整个wordpress请求处理过程.鉴于您的脚本实际上不是wordpress帖子,此过程设置404标头以指示它找不到您要查找的内容.
因为它看起来像你真正想要的只是访问wordpress用户函数,你最好只包括wp-load.PHP,这应该允许你调用这些函数而不调用请求解析器.
原文地址:https://www.jb51.cc/php/139005.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。