javascript 在本地主机上工作但在托管服务器上失败

标签 javascript php ajax

当我单击“添加到购物篮”按钮时,我看到浏览器控制台中出现一条错误:

error.png

这是我的篮子.js 文件:

$(document).ready(function() {
    
    
    initBinds();
    

    function initBinds() {
        if ($('.remove_basket').length > 0) {
            $('.remove_basket').bind('click', removeFromBasket);
        }
        if ($('.update_basket').length > 0) {
            $('.update_basket').bind('click', updateBasket);
        }
        if ($('.fld_qty').length > 0) {
            $('.fld_qty').bind('keypress', function(e) {
                var code = e.keyCode ? e.keyCode : e.which;
                if (code == 13) {
                    updateBasket();
                }
            });
        }
    }

    
    function removeFromBasket() {
        var item = $(this).attr('rel');
        $.ajax({
            type: 'POST',
            url: '/home/u919084925/public_html/mod/basket_remove.php',
            dataType: 'html',
            data: ({ id: item }),
            success: function() {
                refreshBigBasket();
                refreshSmallBasket();
            },
            error: function() {
                alert('An error has occurred');
            }
        });
    }
    
    function refreshSmallBasket() {
    
        $.ajax({
            url: '/home/u919084925/public_html/mod/basket_small_refresh.php',
            dataType: 'json',
            success: function(data) {
                $.each(data, function(k, v) {
                    $("#basket_left ." + k + " span").text(v);
                });
            },
            error: function(data) {
                alert("An error has occurred");
            }
        });
    
    }

    function refreshBigBasket() {
        $.ajax({
            url: '/home/u919084925/public_html/mod/basket_view.php',
            dataType: 'html',
            success: function(data) {
                $('#big_basket').html(data);
                initBinds();
            },
            error: function(data) {
                alert('An error has occurred');
            }
        }); 
    }
    

    if ($(".add_to_basket").length > 0) {
        $(".add_to_basket").click(function() {
            
            var trigger = $(this);
            var param = trigger.attr("rel");
            var item = param.split("_");
            
            $.ajax({
                type: 'POST',
                url: '/home/u919084925/public_html/mod/basket.php',
                dataType: 'json',
                data: ({ id : item[0], job : item[1] }),
                success: function(data) {
                    var new_id = item[0] + '_' + data.job;
                    if (data.job != item[1]) {
                        if (data.job == 0) {
                            trigger.attr("rel", new_id);
                            trigger.text("Remove from basket");
                            trigger.addClass("red");
                        } else {
                            trigger.attr("rel", new_id);
                            trigger.text("Add to basket");
                            trigger.removeClass("red");
                        }
                        refreshSmallBasket();
                    }
                },
                error: function(data) {
                    alert("An error has occurred");
                }
            });
            return false;
            
        });
    }
    
    function updateBasket() {
        $('#frm_basket :input').each(function() {
            var sid = $(this).attr('id').split('-');
            var val = $(this).val();
            $.ajax({
                type: 'POST',
                url: '/home/u919084925/public_html/mod/basket_qty.php',
                data: ({ id: sid[1], qty: val }),
                success: function() {
                    refreshSmallBasket();
                    refreshBigBasket();
                },
                error: function() {
                    alert('An error has occurred');
                }
            });
        });
    }
    
    // proceed to paypal
    if ($('.paypal').length > 0) {
        $('.paypal').click(function() {
            
            var token = $(this).attr('id');
            var image = "<div style=\"text-align:center\">";
            image = image + "<img src=\"/images/loadinfo.net.gif\"";
            image = image + " alt=\"Proceeding to PayPal\" />";
            image = image + "<br />Please wait while we are redirecting you to PayPal...";
            image = image + "</div><div id=\"frm_pp\"></div>";
            
            $('#big_basket').fadeOut(200, function() {
                $(this).html(image).fadeIn(200, function() {
                    send2PP(token);
                });
            });
            
        });
    }
    
    function send2PP(token) {
        $.ajax({
            type: 'POST',
            url: '/mod/paypal.php',
            data: ({ token : token }),
            dataType: 'html',
            success: function(data) {
                $('#frm_pp').html(data);
                // submit form automatically
                $('#frm_paypal').submit();
            },
            error: function() {
                alert('An error has occurred');
            }       
        });
        
});

我尝试解决它,但找不到合适的解决方案。 帮助我解决这个问题,我无法理解此错误的原因。

最佳答案

这主要是由于起源规则(CORS),由于某种原因,javascript(浏览器)将请求视为不在同一服务器中。我认为,原因是/home/u919084925/public_html/mod/basket.php 在服务器上不被视为有效的 url,它应该以 http://{hostname}/{path} 开头。

关于javascript 在本地主机上工作但在托管服务器上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457790/

相关文章:

javascript - 如何增加ajax/jquery加载时间

php - 使用php将excel表上传到mysql

php - 从 MySQL 中删除行不起作用

asp.net - 如何始终访问 ASP.NET 客户端 API?

javascript - 当用户按 Enter 键时聚焦于下一个表单字段?

javascript - 如何使用函数结果调用变量名?

javascript - 在 JavaScript 中精确生成随机数

php - mysql - 子查询返回多于 1 行错误

javascript - Highcharts - 使一个点可点击?

php - 实时ajax评论