Xin chào, tôi hiện đang cố gắng lấy biểu mẫu để đăng bộ điều khiển bằng AJAX tuy nhiên tôi đã không có may mắn cho đến nay, tôi đã cố gắng lấy biểu mẫu để gửi các giá trị trong biểu mẫu với bộ điều khiển về việc gửi biểu mẫu nhưng nó sẽ không hoạt động không ai biết tại sao? :Đăng thông qua Ajax tới bộ điều khiển MVC
CSHTML:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Abintegro Search Prototype</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$("#submitsearch").click(function (e) {
e.preventDefault();
var form = $("#searchform");
$.ajax({
url: "Search/GetSearchDetails",
data: form.serialize(),
type: 'POST',
success: function (data) {
//Show popup
$("#popup").html(data);
}
});
});
</script>
<!-- Javascript function to add autocomplete search phrases for the company name text search-->
<script>
$(function() {
var searchPhrases = [
"Zep Solutions",
"Wetherby Consultants Ltd",
"Webmploy",
"WATS Recruitment Ltd",
"Vital Resources",
"VG Charles and Co",
"Veredus UK",
"Venn Group",
"VanDuo Consulting"
];
$("#phrases").autocomplete({ source: searchPhrases });
});
</script>
</head>
<body>
<form id="searchform" name="searchform">
<div class="company-textbox">
<label for="companyname">Company Name</label>
<input id="phrases" name="companyname">
</div>
<br />
<div class="specialities">
<label for="specialities-dropdown">Specialities:</label>
<select name="specialities-dropdown">
<option value="Consumer Products & Services">Consumer Product & Services</option>
<option value="Support Services">Support Services</option>
<option value="Communication & Entertainment">Communication & Entertainment</option>
<option value="Business & Professional Services">Business & Professional Services</option>
<option value="Public Sector">Public Sector</option>
<option value="Not for profit">Not for profit</option>
<option value="Sports Information">Sports Information</option>
</select>
</div>
<br />
<div class="category">
<label for="category-dropdown">Category:</label>
<select name="category-dropdown">
<option value="Generalist">Generalist</option>
<option value="Specialist">Specialist</option>
<option value="Exec Search">Exec Search</option>
<option value="Interim Management">Interim Management</option>
</select>
</div>
<br />
<div class="location-dropdown">
<label for="location-dropdown">Location:</label>
<select name="Location">
<option value="London">London</option>
<option value="Bristol">Bristol</option>
<option value="Manchester">Manchester</option>
<option value="Birmingham">Birmingham</option>
</select>
</div>
<input type="submit" value="Submit" name="submitsearch" id="submitsearch">
</form>
</body>
</html>
Bộ điều khiển:
[HttpPost]
public string GetSearchDetails(string companyName, string specialities, string category, string location)
{
return liveSearchRepository.GetUserInputResults(companyName,specialities,category,location);
}
năng suất 'form.serialize()' là gì? Sẽ tốt hơn nếu bạn tạo một lớp poco cho hoạt động 'POST' của bạn và cảm nhận dữ liệu tương ứng từ tập lệnh của bạn. –
Hãy thử chèn dataType: "html", làm đối số trong cuộc gọi .ajax – andreasnico
Chính xác của bạn không hoạt động? Bạn có thể gỡ lỗi Javascript để xác minh rằng nó sẽ được gửi dữ liệu gửi đến bộ điều khiển của bạn? –