在过去的五天里,我一直在尝试解决这个问题,但没有任何效果。我已经查看了有关该主题的每一篇文章,但没有任何帮助。我正在使用 OpenCart CMS,并希望使用 ajax 将一个简单的 jquery 变量从一个文件发送到另一个文件并发布,以便它可以更改 css 文件的背景颜色。为了弄清楚为什么文件不带有 .php 扩展名,请阅读本教程http://net.tutsplus.com/tutorials/php/supercharge-your-css-with-php-under-the-hood/特别是优雅的方法. 所以这是ajax的代码
$(document).ready(
function()
{
var headerDefaultColor = "#126FA8";
$.ajax({
url: "view/stylesheet/supercharge.css",
data: {cell: headerDefaultColor},
type: "POST",
async: false,
success: function(data) {
console.log("Send");
},
error: function(data){
console.log("Error");
}
})
.done(function(cell) { console.log("Done success: " + cell); })
.fail(function() { console.log("error"); })
.always(function() { console.log("complete"); })
});
这是css的代码
<?php header("Content-type: text/css"); ?>
<?php
$headerColor = null;
var_dump($_POST['cell']);
if(isset($_POST['cell'])){
$headerColor = $_POST['cell'];
} else {
$headerColor = "Nothing happends, again!!";
}
?>
#header {
background-color: <?php echo $headerColor; ?>;
}
这是我在控制台中得到的:
Send index.php:103
Done success:
<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'#126FA8'</font> <i>(length=7)</i>
</pre>
#header {
background-color: #126FA8;
}
然而,这是我在 css 文件中得到的。它应该发送十六进制代码,但它没有,它生成了一个通知:未定义索引:单元格,这是输出:
<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: cell in C:\Program Files (x86)\wamp\www\opencart-1.5.5.1\upload\admin\view\stylesheet\supercharge.css on line <i>14</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>250160</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\Program Files (x86)\wamp\www\opencart-1.5.5.1\upload\admin\view\stylesheet\supercharge.css' bgcolor='#eeeeec'>..\supercharge.css<b>:</b>0</td></tr>
</table></font>
<pre class='xdebug-var-dump' dir='ltr'><font color='#3465a4'>null</font>
</pre>
#header {
background-color: Nothing happends, again!!;
}
我尝试使用isset()但它不起作用我尝试使用empty()它不起作用,并且还查看了谷歌给我的每一个搜索结果都没有任何作用。所以我希望将 var headerDefaultColor 发送到 .css 文件并使用 php 而不是使用 jquery 更改背景颜色(效果很好)。我在这里想念什么?