我正在尝试将$ .ajax发布从http到https跨域的MVC调用。
客户端
enter code here
$.ajax({
type: 'post',
crossDomain: true,
url: 'https://localhost/views/Member/VerifyEmail',
beforeSend: function () { alert('I am sending'); },
data: '{name:"John"}',
dataType: "json",
success: function (data) { pdata = data; }
});
服务器端
[RequireHttps]
[HttpPost]
public string VerifyEmail(string name){
return "got it"
}
我已将Access-Control-Allow-Origin添加到web.config
,因此可以很好地建立呼叫。现在问题是在服务器端我得到变量name = null
我还检查了调试,发现数据实际上已发送到服务器
HttpContext.Request.Form
{%7bname%3a%22hello%22%7d}
[System.Web.HttpValueCollection]: {%7bname%3a%22hello%22%7d}
问题是我如何从网络方法中检索它?
答案 0 :(得分:0)
%7bname%3a%22hello%22%7d这是HTML实体String请解码String然后解析JSON。
答案 1 :(得分:0)
我认为你可以改变你的电话
$.ajax({
type: 'post',
crossDomain: true,
url: 'https://localhost/views/Member/VerifyEmail',
beforeSend: function () { alert('I am sending'); },
data: 'John',
dataType: "text",
success: function (data) { pdata = data; }
});