2016-09-12 3 views
0

Wenn ich auf auf Add-to-Korb-Taste i ein Fehler angezeigt, die sagt, in meiner Browser-Konsole angezeigt:JavaScript auf localhost funktioniert aber nicht auf Server-Hosting

error.png

Hier Datei meines basket.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'); 
      }  
     }); 

}); 

Ich versuchte, es zu lösen, konnte aber keine richtige Lösung finden. Hilf mir dabei, ich kann die Ursache dieses Fehlers nicht verstehen.

+0

Können Sie bitte die Fehlermeldung in Text oder als eingebettetes Bild angeben. Es ist sehr wahrscheinlich, dass sich Ihre URL ändert, sobald sie veröffentlicht/gehostet wird, so dass Sie die 'URL:' in Ihrem Ajax-Anruf entsprechend ändern müssen. –

+1

Ernsthaft, vollständiger Pfad? Vielleicht solltest du 'url:" /mod/basket.php "'? –

+0

Sie haben die URLs in der Fehlermeldung redigiert, so dass es jetzt unmöglich ist zu sagen, was es nicht mag. – Barmar

Antwort

1

Dies liegt hauptsächlich an den Regeln der Herkunft (CORRES), aus irgendeinem Grund sieht das Javascript (Browser) die Anfrage als nicht auf dem gleichen Server resident. Und der Grund dafür, glaube ich, ist, dass /home/u919084925/public_html/mod/basket.php nicht als gültige URL auf dem Server angesehen wird, sondern mit http: // {hostname}/{path} beginnen sollte.

+2

Wenn kein 'http: // hostname' vorhanden ist, wird standardmäßig der Server verwendet, von dem die Seite stammt. – Barmar

0

Es sieht aus wie Ihre Ajax URL ist völlig falsch und der Browser interpretieren, dass Kreuz Ursprung Ajax Anfrage ist. Bitte überprüfen Sie einfach in der Adresszeile des Browsers, ob Ihre Ajax-URLs gültig sind.

Verwandte Themen