Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何处理无限循环?_Php_Jquery_Ajax_Callback_Codemirror - Fatal编程技术网

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)

大家好,这里你们可以检查我之前的问题- 请检查并查看我的execute.php代码,编辑器的代码在这里运行,并建议我为什么for循环会转到无穷循环

这是我的code1.js代码,我正在获取编辑器的代码并通过exec.php运行

$.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中没有显示只有一个请求