【问题标题】:XMLHttpRequest cannot load [url]. Response for preflight is invalid (redirect)XMLHttpRequest 无法加载 [url]。预检响应无效(重定向)
【发布时间】:2016-06-06 14:20:27
【问题描述】:

我遇到了这个问题,我可以找到任何答案。我尝试通过引导 jquery 使用 x-editable 来更新文本。我附上了图片error-image,下面是我的php代码

case 'update-number':

        if (isset($_POST['pk'])) {

            header('Content-Type: application/json;charset=UTF-8');
            header('Access-Control-Allow-Origin': '*');
            header('Access-Control-Allow-Methods: DELETE, HEAD, GET, OPTIONS, POST, PUT');
            header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
            header('Access-Control-Max-Age: 1728000');


            $user_id         = $_COOKIE['user_id'];
            $fed_id          = $_POST['pk'];
            $last_update     = date('Y-m-d h:i:s');
            $number = $_POST['value'];

            $query = "SELECT * FROM abc WHERE fed_id='$fed_id'";
            $result = $mysqli->query($query);
            $row= $result->num_rows;

                if ($row) {
                    $query = "UPDATE abc SET 
                    number      ='$number',
                    last_update         ='".$last_update."'
                    WHERE fed_id='".$fed_id."'";

                    $result = $mysqli->query($query);
                    echo "Updated";
                } else {
                    $query = "INSERT INTO abc (number, fed_id, user_id, last_update)
                              VALUES ('".$number."','".$fed_id."','".$user_id."','".$last_update."')";
                    $result = $mysqli->query($query);
                    echo "INSERTED";

                }
        }

        break;

【问题讨论】:

    标签: javascript php jquery twitter-bootstrap


    【解决方案1】:

    我发现了问题。我使用没有 www (ex: http://myurl.com) 的基本 url 我更改为 http://www.myurl.com 并删除了代码中的标题。请看下面的代码:

    case 'update-number':
    
        if (isset($_POST['pk'])) {
            $user_id         = $_COOKIE['user_id'];
            $fed_id          = $_POST['pk'];
            $last_update     = date('Y-m-d h:i:s');
            $number = $_POST['value'];
    
            $query = "SELECT * FROM abc WHERE fed_id='$fed_id'";
            $result = $mysqli->query($query);
            $row= $result->num_rows;
    
                if ($row) {
                    $query = "UPDATE abc SET 
                    number      ='$number',
                    last_update         ='".$last_update."'
                    WHERE fed_id='".$fed_id."'";
    
                    $result = $mysqli->query($query);
                    echo "Updated";
                } else {
                    $query = "INSERT INTO abc (number, fed_id, user_id, last_update)
                              VALUES ('".$number."','".$fed_id."','".$user_id."','".$last_update."')";
                    $result = $mysqli->query($query);
                    echo "INSERTED";
    
                }
        }
    
        break;
    

    【讨论】:

      【解决方案2】:

      这可能是由于协议无效

      检查您的网址,使用 http:// 而不是 https:// 时也会出现此错误。

      我遇到了同样的问题,并用 https 替换了 http

      【讨论】:

        猜你喜欢
        • 2017-02-04
        • 2016-05-31
        • 2018-02-14
        • 2017-01-19
        • 2018-12-25
        • 2016-03-27
        • 2016-04-10
        • 2017-04-13
        • 1970-01-01
        相关资源
        最近更新 更多