0

http から https クロス ドメインへの $.ajax post 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て、呼び出しを正常に確立できるようにしました。問題はサーバー側にあり、変数名= nullを取得しました

デバッグも確認したところ、データが実際にサーバーに送信されていることがわかりました

HttpContext.Request.Form    
{%7bname%3a%22hello%22%7d}    
[System.Web.HttpValueCollection]: {%7bname%3a%22hello%22%7d}    

問題は、Web メソッドからどのように取得できるかということです。

4

2 に答える 2

0

%7bname%3a%22hello%22%7d これは HTML エンティティ文字列です。文字列をデコードしてから JSON を解析してください。

于 2012-07-06T11:29:39.643 に答える
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; }    
}); 
于 2012-07-06T11:29:56.237 に答える