View Full Version : سوال: اجرا نشدن ajax
r4hgozar
چهارشنبه 03 تیر 1394, 13:00 عصر
سلام.
من از این کد تو 3 تا پروژه دیه استفاده کردم.
اما الان هر کاری می کنم ارور میده
$.ajax({
type: "POST",
Url: "/Search/SearchResult",
data: {
id: $("#id").val(),
typs: $("option:selected").val(),
price1: $("#price1").val(),
price2: $("#price1").val()
},
datatype: "Json",
success: function (result) {
if (result.Success) {
$("#Divresult").html(result.Html);
}
eval(result.Script);
},
error: function () {
alert("خطا اجرا نشدن!");
}
});
خطا میده
404 Not Found - http://localhost:20220/Search/Index
404 Not Found - http://localhost:20220/Search/SearchResult (http://localhost:20220/Search/Index)
2 روزه به زبون روزه مارو گیر اورده.
ممنون از همه
niloo17
چهارشنبه 03 تیر 1394, 13:50 عصر
کد کنترلر را اگه بذارید راحتر می تونبم راهنماییتون کنبد.
ولی در کل می تونید به این صورت بتویسید .
$.ajax({
url: '@Url.Action("FindBill", "WeightControl")',
type: 'POST',
data: { value: item },
success: function (result) {
$("#bill").text(result.bill);
$("#bill").removeClass("alert-danger");
}
});
و در کنترلر
public ActionResult FindBill(string value)
{
return Json(new { bill=result}, JsonRequestBehavior.AllowGet);
}
r4hgozar
چهارشنبه 03 تیر 1394, 14:09 عصر
[HttpPost]
public ActionResult SearchResult(int? id, Guid typs, int? price1, int? price2)
{
if (!ModelState.IsValid) return RedirectToAction("Index", "Home");
var model = _estate.Search(id, typs, price1, price2);
return Json(new JsonData
{
Script = MessageBox.Show("با موفقیت ثبت شد", MessageType.Success).Script,
Success = true,
});
}
مهم درست یا اشتباه بودن جوابش نیست.
مهم اینه که چرا اکشن رو نمی شناسه/
[JAVASCRIPT]
url: '@Url.Action("FindBill", "WeightControl")'
/JAVASCRIPT]
اینطوری هم آدرس دادم اما نشد
mo.jalilian
چهارشنبه 03 تیر 1394, 16:25 عصر
ادرستون رو داخل مرورگر وارد کنید، وقتی براتون متد ها را اورد، همون رو دقیقا وارد کنید و مجددا تست کتید.
جواب که گرفتید، قسمت مربوط به دامین را پاک کنید و ادرس دهی داخلیتون رو مشخص کنید نسبت به فایلی که فراخوانی انجام می شود
r4hgozar
چهارشنبه 03 تیر 1394, 16:43 عصر
ممنون دوست عزیز قبلا همین کارو کردم.
اما وقتی
http://localhost:20220/Search/SearchResult (http://localhost:20220/Search/Index) رو میزنم اصلا نمی شناسه/
ارور میده
404 Not Found - http://localhost:20220/Search/SearchResult (http://localhost:20220/Search/Index)
تو stackoverflow خوندم یکی همین مشکل رو داشت گفته بود واسته اینه که mvc رو آپدییت کرد و وقتی دوباره برگشت به ورژن قدیمی تر درست شد.
من هم mvc رو از طریق nuget آپدیت کردم.
شاید واسه اون باشه.
RIG000
پنج شنبه 04 تیر 1394, 08:28 صبح
ببین اینطوری حل مییشه. رفرنس رو باز کن ببین چه dll های fake شدن و دوباره اونها رو اضافه کن.... والبته fake ها رو پاک کن و rebuiild و تست مجدد....
niloo17
پنج شنبه 04 تیر 1394, 09:32 صبح
[HttpPost]
public ActionResult SearchResult(int? id, Guid typs, int? price1, int? price2)
{
if (!ModelState.IsValid) return RedirectToAction("Index", "Home");
var model = _estate.Search(id, typs, price1, price2);
return Json(new JsonData
{
Script = MessageBox.Show("با موفقیت ثبت شد", MessageType.Success).Script,
Success = true,
});
}
مهم درست یا اشتباه بودن جوابش نیست.
مهم اینه که چرا اکشن رو نمی شناسه/
[JAVASCRIPT]
url: '@Url.Action("FindBill", "WeightControl")'
/JAVASCRIPT]
اینطوری هم آدرس دادم اما نشد
شما نباید اکشن را از نوع [HttpPost] بذارید.
r4hgozar
پنج شنبه 04 تیر 1394, 13:13 عصر
ببین اینطوری حل مییشه. رفرنس رو باز کن ببین چه dll های fake شدن و دوباره اونها رو اضافه کن.... والبته fake ها رو پاک کن و rebuiild و تست مجدد....
سلام داداش گلم.
fake نیست هیچ کدوم
r4hgozar
پنج شنبه 04 تیر 1394, 13:15 عصر
شما نباید اکشن را از نوع [HttpPost] بذارید.
این زیاد منظقی نیست که httppost نزارم.
اما تست کردم نشد.
ممنون
r4hgozar
پنج شنبه 04 تیر 1394, 18:14 عصر
الان مشکل اینکه پاس نمی داد رو درست کردم.
اما وقتی دستور اجرا می شه
صفحه میره به اکشن http://localhost:20209/Search/SearchResult
در حالی که همچنین چیزی وجود نداره.
یعنی ajax من در صفحه اجرا نمیشه
$.ajax({
type: "POST",
Url: @Url.Action("SearchResult","Search"),
data: data2,
dataType: "Json",
success: function (result) {
alert(result.success);
if (result.Succes) {
alert("salam");
}
eval(result.Script);
},
واقعا دیه کلافه شدم.
اصلا success نمیرسه. هیچی پاس داده نمیشه اینطرف.
hakim22
پنج شنبه 04 تیر 1394, 23:31 عصر
1- مطمئن شوید که Script مربوط به Ajax رو در صفحه ی مربوطه لینک داده باشید.
2- با استفاده از Fiddler یا FireBug و... اطلاعات رفت و برگشتی به سرور را در مرورگر عیب یابی کنید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.