Php 如何处理无限循环?
大家好,这里你们可以检查我之前的问题- 请检查并查看我的execute.php代码,编辑器的代码在这里运行,并建议我为什么for循环会转到无穷循环 这是我的code1.js代码,我正在获取编辑器的代码并通过exec.php运行Php 如何处理无限循环?,php,jquery,ajax,callback,codemirror,Php,Jquery,Ajax,Callback,Codemirror,大家好,这里你们可以检查我之前的问题- 请检查并查看我的execute.php代码,编辑器的代码在这里运行,并建议我为什么for循环会转到无穷循环 这是我的code1.js代码,我正在获取编辑器的代码并通过exec.php运行 $.ajax({ type: 'GET', url: 'exec.php', data: code, success: function(data) { alert(data); $(loader)
$.ajax({
type: 'GET',
url: 'exec.php',
data: code,
success: function(data)
{
alert(data);
$(loader).addClass("hidden");
var stdout = $(form).children('.stdout');
if (data.search("Parse error")>0)
{
var str = data.replace("<b>Parse error</b>: ","");
$(stdout).html(str);
$(stdout).removeClass('hidden');
}
else
{
$(stdout).html(data);
$(stdout).removeClass('hidden');
}
},
error: function(req, status, err) {
alert(status);
alert(err);
},
dataType: 'JSONP'
});
$.ajax({
键入:“GET”,
url:'exec.php',
数据:代码,
成功:功能(数据)
{
警报(数据);
$(加载器).addClass(“隐藏”);
var stdout=$(form).children('.stdout');
if(data.search(“解析错误”)>0)
{
var str=data.replace(“分析错误:,”);
$(stdout).html(str);
$(stdout).removeClass('hidden');
}
其他的
{
$(stdout).html(数据);
$(stdout).removeClass('hidden');
}
},
错误:功能(请求、状态、错误){
警报(状态);
警惕(err);
},
数据类型:“JSONP”
});
当我在编辑器中插入for循环的代码时,它会变成无限循环
";
}
?>
您可以在web.guru99.com上查看此问题
请帮助我认为这是由于
+
符号在到达服务器时被误解。我认为+
正在被单个空格取代,这在for
循环中产生了问题。因此,$x++
将被解释为$x
(在$x
之后有两个空格)它将创建一个无限循环
为了解决这个问题,您可能应该使用
javascript
将输入代码中的所有+
符号替换为一些符号,并使用您自己的方法在服务器端urldecode
。而不是通过url发布PHP代码,您可以将其作为附加数据发布。这就解决了编码问题它还允许您发送更大的代码块。请编辑此问题以包含循环的代码。jQuery文档说:“仅在Firefox 3.0+中,脚本和JSONP请求不能在超时时取消;“那么,你确定这是一个循环,而不是一段时间吗?如果你直接将其作为单元测试调用,你会得到什么响应?请求是否被反复发送?或者firebug是否只显示一个请求?输出是否包含ajax请求,因为最终的回显可能会重新调用该页面,如果是的话。firebug中没有显示只有一个请求