データベースに電子メールアドレスが存在するかどうかを確認しようとしています。私は私のjQuery(私のビューをきれいに保つため)を呼び出すために使用している外部JavaScriptファイルがあります。おそらく、SSLを有効にして実行しているためですか?コントローラーで外部JavaScriptファイルのAJAX呼び出しがコントローラのActionResultに到達していない
function checkemail() {
var email = $("#email").val();
$.ajax({
url: "/Account/CheckEmailExists/",
data: JSON.stringify({ p: email }),
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data)
}
});
}
アクション:
public ActionResult CheckEmailExists(string p)
{
bool bEmailExists = false;
using (RBotEntities EF = new RBotEntities())
{
var query = (from U in EF.AspNetUsers
where U.Email == p
select U).FirstOrDefault();
if(query.Email != null)
{
bEmailExists = true;
}
else
{
bEmailExists = false;
}
}
return Json(bEmailExists, JsonRequestBehavior.AllowGet);
}
私は次のことを示すエラーを取得しているようだ:
JS外部ファイルにXML Parsing Error: no root element found Location: https://localhost:44347/Account/CheckEmailExists/ Line Number 1, Column 1:
機能(Iは、HTTPSを使用しています)
私はこのActionResult
が存在しないことを理解しています。しかし、それはありますか?
私は何か間違っているのですか、またはActionResult
を外部のJavaScriptファイルから呼び出せない理由がありますか?
コントローラは要求を受け取りましたが、XMLとして読み取り中です。どのバージョンのASP.NETを使用しますか? MVC2にはMVC3の機能が組み込まれていますが、組み込みのjsonサポートはありません。 – KarelG
私はMVC 5を使用しています – AxleWack