Php 为什么我的AJAX代码只能部分工作?
大家好,这是我的代码Php 为什么我的AJAX代码只能部分工作?,php,javascript,ajax,jquery,Php,Javascript,Ajax,Jquery,大家好,这是我的代码 echo('Name: <input type="text" id="Name" onchange="im()" value="your name" name="Name" />'); echo('pointsize: <input type="text" id="pointsize" onchange="im()" value="50" name="pointsize" />'); echo('format: <input type="te
echo('Name: <input type="text" id="Name" onchange="im()" value="your name" name="Name" />');
echo('pointsize: <input type="text" id="pointsize" onchange="im()" value="50" name="pointsize" />');
echo('format: <input type="text" id="format" value=".gif" onchange="im()" name="format" />');
echo('BackGround Color: <input type="text" id="bckclr" value="red" onchange="im()" name="bckclr" />');
echo('FontColor: <input type="text" id="color" value="white" onchange="im()" name="color" />');
echo('Border Color: <input type="text" id="bcolor" value="blue" onchange="im()" name="bcolor" />');
echo('<a href="./lang/ims.php"><img src="'.$image.'" height="82" width="82" /></a>');
echo('Font: <input type="text" id="font" value="'.$image1.'" onchange="im()" name="font" />');
echo ('<div id="Div_Im">');
echo('replace me');
echo ('</div>');
echo('Name:');
echo('pointsize:');
echo('格式:');
回声('背景颜色:');
回声('FontColor:');
回声('边框颜色:');
回声(“”);
echo('字体:');
回声(“”);
echo(“替换我”);
回声(“”);
这是我的AJAX代码
<Script type="text/javascript">
function im()
{
var Name=document.getElementById("Name").value;
var pointsize=document.getElementById("pointsize").value;
var format=document.getElementById("format").value;
var bckclr=document.getElementById("bckclr").value;
var color=document.getElementById("color").value;
var bcolor=document.getElementById("bcolor").value;
var font=document.getElementById("font").value;
$(document).ready(function(){
var url='Name='+Name+'&pointsize='+pointsize+'&format='+format+'&bckclr='+bckclr+'&color='+color+'&bcolor='+bcolor+'&font='+font;
alert(url);
//-----Sending request to server for getting job name list by ajax-----
$.ajax({
type : "POST",
url : "i.php?",
data : url,
cache : false,
success : function(html)
{
//document.getElementById('Div_PJobId').style.display="block";
//alert('hi');
alert(html);
var pic='<img src="'+html+'">';
$("#Div_Im").html(pic).show();
}
});
});
}
</script>
函数im()
{
var Name=document.getElementById(“Name”).value;
var pointsize=document.getElementById(“pointsize”).value;
var format=document.getElementById(“format”).value;
var bckclr=document.getElementById(“bckclr”).value;
var color=document.getElementById(“color”).value;
var bcolor=document.getElementById(“bcolor”).value;
var font=document.getElementById(“font”).value;
$(文档).ready(函数(){
var url='Name='+Name+'&pointsize='+pointsize+'&format='+format+'&bckclr='+bckclr+'&color='+color+'&bcolor='+bcolor+'&font='+font;
警报(url);
//-----通过ajax向服务器发送获取作业名称列表的请求-----
$.ajax({
类型:“POST”,
url:“i.php?”,
数据:url,
cache:false,
成功:函数(html)
{
//document.getElementById('Div_PJobId').style.display=“block”;
//警报(“hi”);
警报(html);
var pic='';
$(“#Div_Im”).html(pic.show();
}
});
});
}
这是我的i.php服务器页面代码
$Name=$_POST["Name"];
$pointsize=$_POST["pointsize"];
$bckclr=$_POST["bckclr"];
$color=$_POST["color"];
$bcolor=$_POST["bcolor"];
$format=$_POST["format"];
//$filename = "./lang/sri".$format;
$filename = "./lang/".$Name.$format;
$font=$_POST["font"];
$cmd = " -background $bckclr -pointsize $pointsize -font $font -fill $color ".
" -strokewidth 1 -stroke $bcolor label:\"$Name\" ";
exec("convert $cmd $filename");
//if($filename)
//{}
//echo('<img src="'.$filename.'">');
echo $filename;
$Name=$\u POST[“Name”];
$pointsize=$\u POST[“pointsize”];
$bckclr=$_POST[“bckclr”];
$color=$_POST[“color”];
$bcolor=$_POST[“bcolor”];
$format=$_POST[“format”];
//$filename=“./lang/sri”。$format;
$filename=“./lang/”$Name.$format;
$font=$_POST[“font”];
$cmd=“-background$bckclr-pointsize$pointsize-font$font-fill$color”。
“-strokewidth 1-stroke$b颜色标签:\“$Name\”;
exec(“转换$cmd$filename”);
//如果($filename)
//{}
//回声(“”);
echo$filename;
请检查一下电话号码。仅当我更改名称时,的内容(如中所示)才会被替换,但它不适用于颜色、B颜色、字体…每次更改时,我都需要刷新页面。。。。有办法解决这个问题吗?我在调试您的代码时发现,客户端的每一项更改(输入)都可以正常工作,您使用最新数据调用服务器,并根据从服务器获得的html替换图像 我相信你的服务器端代码有问题。正如我看到的,您正在使用名称字段值为创建的图像文件指定名称。这意味着已经为颜色更改创建了名称图像文件,因为已经提供了名称。您应该查看服务器端代码。从服务器返回响应需要无限时间
$(document).ready
函数包装在im()
函数中。。为什么呢function im() {
$.ajax({
type: "POST",
url: "i.php?",
data: {
Name:$('#Name').val(),
pointsize:$('#pointsize').val(),
format:$('#format').val(),
bckclr:$('#bckclr').val(),
color:$('#color').val(),
bcolor:$('#bcolor').val(),
font:$('#font').val()
},
cache: false
}).done(function(html) {
//document.getElementById('Div_PJobId').style.display="block";
//alert('hi');
alert(html);
var pic='<img src="'+html+'">';
$("#Div_Im").html(pic).show();
});
}
函数im(){
$.ajax({
类型:“POST”,
url:“i.php?”,
数据:{
名称:$('#Name').val(),
pointsize:$('#pointsize').val(),
格式:$(“#格式”).val(),
bckclr:$('#bckclr').val(),
颜色:$('#color').val(),
b颜色:$('#b颜色').val(),
字体:$('#font').val()
},
缓存:false
}).done(函数(html){
//document.getElementById('Div_PJobId').style.display=“block”;
//警报(“hi”);
警报(html);
var pic='';
$(“#Div_Im”).html(pic.show();
});
}
似乎我今天已经看到了这个问题。这不是一个完整的问题,那么你可以编辑这个问题?嗯,这可能是原因,但如何解决这个问题?我在本地主机上运行相同的代码…我有sme问题。。。我还显示了我的服务器端代码。。。有没有办法解决这个问题?你没有更改你给我们的链接中的代码。。请在那里做些改变,因为我们想测试它对我有用<代码>替换我已替换为
。有一个延迟,但我认为这是由返回结果的php文件引起的。更改输入内容后,必须按enter键或模糊NOPE键。。我正在检查我的本地主机。它仍然不起作用..:(它只在你更改你的姓名时起作用..但不适用于其他功能,如颜色、背景颜色、大小..和所有..我们可能会看到一个警告框..但图像不会改变。。。