2016-05-16 57 views
0

我想这个,但“myvariable”传递null。我究竟做错了什么?如何传递参数ajax contentType:“html”

$.ajax({ 
    type: "POST", 
    url: "/MyController/MyAction", 
    data: JSON.stringify({ 
     products: myvariable 
    }), 
    contentType: "html" 
}).done(function(a) { 
    if (null != a) $(".item-box").html(a); 
}).fail(function(a) { 
    if (0 != a.status) alert(a.status + " " + a.statusText); 
}); 
+0

我们可以看到你指定'myvariable'的值吗? –

+0

@MasterDJon我从另一个Ajax调用分配。这是一个对象。 – lgarcia11

+0

您是否验证过,如果此时(ajax调用之前),myvariable不是已经为空? –

回答

0
  1. 确保一下使用的Chrome浏览器开发者工具,网络选项卡发送到服务器或你喜欢的浏览器。如果发送的是您希望在服务器上接收它的方式,请继续#2,否则请执行@Rikin的答案。
  2. 在服务器端,从页面调用开始按照您的代码。
+0

谢谢。是的,我没有通过第一步。 – lgarcia11

0

按jQuery文档: 如果你想为XML对象发送到服务器的处理可能是不可取的;在这种情况下,请将contentType选项从application/x-www-form-urlencoded更改为更合适的MIME类型。

那么可能是你可以尝试contentType: "text/html",或者您可能想尝试processData: false