javascript - 未调用 Ajax 回调。如何解决这个问题?

标签 javascript php jquery ajax callback

我再次来到这里征求您的建议。我有一些 AJAX 调用,用于从我的编辑器(一个 PHP 在线编辑器)运行代码。 (大家可以打卡my site。)

我有一些 ajax 调用用于发送编辑器的数据和接收到的输出。

问题:for 循环没有正确执行。

  1. 下面的for循环程序执行成功

    <?php
    for($i=10;$i>1;$i--){
        echo "$i<br>";
    }
    ?>
    
  2. 虽然这个for循环没有执行

    <?php
    for ($x=0; $x<=10; $x++)
    {
        echo "The number is: $x <br>";
    }
    ?> 
    

当我通过 FireBug 运行它时,我得到一个响应,说在第二个循环的情况下 for 循环变成了一个无限循环(上图)。

现在这是我的 AJAX 回调:

$.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'
});

我已经在本地重新实现了这个编辑器并运行了;在 FireBug 中,我收到此错误:

Error: jQuery110106354119750428449_1386321122498 was not called

这是我来自服务器的 JSON 回调代码:

echo $_GET['callback']."(".json_encode($script_output).");";

请帮我解决这个错误。

最佳答案

enter image description here经过一些测试,我认为问题是 url 中的 ++,尝试编码:

encodeURIComponent

因为这对我有用:

for ($x=0; $x<=10; $x%2B%2B)
  {
  echo "The number is: $x <br>";
  }

...

+ = %2B

服务器得到这个: ($x=0; $x<=10; $x ) 所以它是无限循环,因为 $x 保持为 0

关于javascript - 未调用 Ajax 回调。如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420255/

相关文章:

javascript - 更新 mysql 上的 echo "select option "

javascript - 在 drupal block 中自定义 window.print()

javascript - 如何在每个组件上激活可调整大小的事件(一一)

javascript - 自动建议下拉菜单不使用向上/向下箭头键选择

jquery - 第一个 ajax 请求在 Firefox 中非常慢,但在 IE 中很快

javascript - 在 JavaScript 的循环中获取请求

javascript - 如何在 Javascript 中将对象的方法作为参数传递给另一个函数

javascript - 解析 Javascript 中数学运算的字符串

php - PHP与C变量作用域差异: block scope is not exactly the same?

php - 发布到 SQL 的端点问题