0
有人可以指點我在這裏的正確方向... 我有一個網站的形式,我有一個控制器。我想要做的是通過URL與jQuery發佈形式是這樣的:建立POST網址到MVC控制器
/localhost:1234/something?FirstLast=Somebody&[email protected]&Phone=something
這是控制器:
[System.Web.Http.HttpPost]
public HttpResponseMessage PostPodrskaRequest(string ImePrezime, string Mail, string Telefon, int OdabranaUlogaId)
{
try
{
var r = new Regex(@"^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$");
if (string.IsNullOrEmpty(ImePrezime) || ImePrezime.Length > 128)
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Ime i prezime mora biti upisano i ne smije sadržavati više od 128 znakova!");
if (string.IsNullOrEmpty(Mail) || (!r.IsMatch(Mail)))
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Neispravna mail adresa!");
var cnt = this._podrskaService.GetPodrskaContent().First(x => x.Uloga.Id == OdabranaUlogaId);
this._podrskaService.InsertPodrskaRequest(ImePrezime, Mail, Telefon, cnt.Id, OdabranaUlogaId, this._services.WorkContext.CurrentUser.Id);
}
catch (Exception ex)
{
this.Logger.Log(LogLevel.Error, ex, "Handled exception!!!");
_transactionManager.Cancel();
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message, ex);
}
return Request.CreateResponse(HttpStatusCode.OK, "Zahtjev uspješno poslan.");
}
這是我的jQuery AJAX功能:
function submitForm() {
var params = {
ImePrezime: $("#Forma").find('input[name="ImePrezime"]').val(),
Mail: $("#Forma").find('input[name="Mail"]').val(),
Telefon: $("#Forma").find('input[name="Telefon"]').val()
}
var str = param(params);
greska = 0;
$.ajax({
type: 'POST',
url: '@postUri',
data: str ,
success: function (response) {
alert("Prošlo!");
console.log("[OK] Poruka poslana na @postUri");
console.log("ImePrezime" + ImePrezime);
console.log("Mail" + Mail);
console.log("Telefon" + Telefon);
},
error: function() {
alert("Nije prošlo! :'(");
console.log("[FAIL] Poruka poslana na @postUri");
console.log("ImePrezime" + ImePrezime);
console.log("Mail" + Mail);
console.log("Telefon" + Telefon);
}
});
}
你爲什麼一直在改變你的問題?你繼續使我的答案無效... –
哦,對不起,我應該通過評論你的答案分享新代碼嗎? – Tomislav
爲什麼你需要分享它?如果沒有必要,請不要發佈。那麼答案就足夠了。如果答案沒有幫助,請說明原因。回答者可能會要求提供代碼,但這往往是無休止討論的開始。 –