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()
    函数中。。为什么呢
  • 为什么不使用jQuery获取输入值

    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键。。我正在检查我的本地主机。它仍然不起作用..:(它只在你更改你的姓名时起作用..但不适用于其他功能,如颜色、背景颜色、大小..和所有..我们可能会看到一个警告框..但图像不会改变。。。