【问题标题】:Javascript Get URL is giving an error 404Javascript Get URL 给出错误 404
【发布时间】:2014-03-10 20:34:40
【问题描述】:

当我尝试从 javascript 获取 URL 时,我得到一个 GET http:/.../url 404 (Not Found)。 错误似乎来自脚本中的 $.get("url").done。

您发现代码有什么问题吗?我想不通。感谢您的任何提示。

 @model Tp1WebStore3.ViewModels.ShoppingCartViewModel

 @{
   ViewBag.Title = "Shopping Cart";
 }
 <script src="/Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>

 <script type="text/javascript">
     $(function () {
         $('.RemoveLink').click(function () {
             $.ajax({
                 url: '/Panier/RemoveFromCart',
                 data: { id: $(this).data('id') },
                 type: 'POST',
                 cache: false,
                 success: function (result) {
                    $('#row-' + result.DeleteId).fadeOut('slow');
                    $('#cart-status').text('Cart (' + result.CartCount + ')');
                    $('#update-message').text(result.Message);
                    $('#cart-total').text(result.CartTotal);
                    $.get("url").done( function(data){ $("#TableContent").html(data); } ); <==
                 },                                                                        error
                 error: function(XMLHttpRequest, textStatus, errorThrown) { 
                 alert("Status: " + textStatus); alert("Error: " + errorThrown); 
             });
             return false;
         });
     });
 </script>
 <h3>
    <em>Details</em> du panier:
 </h3>
 <p class="button">
     @Html.ActionLink("Checkout >>", "AddressAndPayment", "Checkout")
 </p>  
 <div id="update-message">
 </div>
 <div id="table-content">
  @Html.Partial("TableContent")
</div>

TableContent.cshtml 局部视图

@model Tp1WebStore3.ViewModels.ShoppingCartViewModel

 <a href="#" class="TableContent">
     <table>
         <tr>
             <th>
                 Produit
             </th>
             <th>
                Prix (unitaire)
             </th>
             <th>
                 Quantite
             </th>
             <th></th>
         </tr>
         @foreach (var item in Model.CartItems)
         {
             <tr id="row-@item.ProduitId">
                 <td>
                     @Html.ActionLink(item.Produit.Description, "Details", "Produit", new { id = 
                        item.ProduitId }, null)
                 </td>
                 <td>
                     @item.Produit.Prix
                 </td>
                 <td id="item-count-@item.PanierId">
                     @item.Quantite
                 </td>
                 <td>
                     <a href="#" class="RemoveLink" data-id="@item.PanierId"> Enlever du panier
                     </a>
                 </td>
             </tr>
         }
         <tr>
             <td>
                 Total
             </td>
             <td></td>
             <td></td>
               <td id="cart-total">
                  @Model.CartTotal
               </td>
         </tr>
     </table>
 </a>

【问题讨论】:

  • "url" 应该在 $.get("url") 上是什么?那是完全错误的。

标签: javascript asp.net-mvc c#-4.0


【解决方案1】:

在这一行

$.get("url").done( function(data){...}

您似乎正在尝试使用一个名为url 的变量,其中包含您应该使用的网址。相反,您将"url" 编码为导致get url 成为http:\\yourbaseurl\url 的原因可能是错误的。

不能肯定,但似乎你正在尝试做这样的事情

$.get(url).done( function(data){...}

url 在上面的某个地方定义。

【讨论】:

  • 我想刷新我的视图,因为现在它是部分刷新的。有人向我提供了代码,但我不知道女巫的 URL 应该去那里。任何的想法 ? URL 应该是这样的:localhost:49259/Panier(第一部分是可变的,/Panier 是修复部分)
  • 我试过这个,没有错误但没有成功刷新页面(即被删除的行仍然出现在页面中 $.get("/Panier").done(function (data) { $("#TableContent").html(data); });
猜你喜欢
  • 2014-05-19
  • 2017-11-22
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 2011-06-23
  • 1970-01-01
相关资源
最近更新 更多