2013-12-16 134 views
-4

我正在做一个ajax调用,但服务器端代码没有命中。相反,控制转到包含在项目中的JavaScript文件。这里是我的代码:

<script type="text/javascript"> 
    function AddEmployee() 
    { 
     debugger; 
     // jQuery.support.cors = true; 
     $.support.cors = true; 
     var Product = new Object(); 
     Product.ID = 10; 
     Product.Name = "kRISH"; 
     Product.Price = "23"; 
     Product.Category = "AS"; 
     // console.log(JSON.stringify({ Name: "kRISH", Price: "23", Category: "AS" })); 
     var json_text = JSON.stringify(Product,null,2); 
     **$.ajax** 
     ({ 
      url: 'http://localhost:62310/api/products', 
      type: 'POST', 
      data: json_text, 
      contentType: "application/json;charset=utf-8", 
      success: function (data) { WriteResponse(data); }, 
      error: function (x, y, z) 
      { 
       $('#contentProgress').popup("close"); 
       alert(x.responseText + " " + x.status); 
      } 
     }); 
    } 
</script> 
+3

并且在哪里调用了AddEmployee? –

+2

您是否在浏览器的调试控制台中看到任何错误?控制权在哪里 - 捕捉异常的地方?或者AddEmployee调用之后的行 - 这是一个异步的AJAX方法,即使成功,也不会指望成功或错误立即触发。 – Rup

+2

*“控制转到JavaScript文件”*是什么意思? – epascarello

回答

1

该网址是否正确,为什么我们不在这里使用相对网址。你可以试试这个吗?

$.ajax('http://localhost:62310/api/products', { 
     type: "post", 
     data: json_text, 
     dataType: "json", 
     cache: false, 
     contentType: "application/json", 
     error: function (xhr, textStatus, errorThrown) { 
      alert(textStatus); 
     } 
    }); 
+0

什么?我正在使用你写的东西。你是否在暗示其他东西? –

+0

他添加了'cache:false',以防它使用缓存值而不是向服务器发送AJAX请求。 – Rup

+0

这是否适合你?如果不是,那么警报显示的是什么。 –