Команда window.location
заставляет ваш браузер перейти в новое местоположение, как указано в данном URL.
Вместо этого выберите какой-либо существующий элемент на своей странице, в который вы хотите вставить содержимое фрагмента, и установите свойство innerHTML
этого элемента в качестве содержимого ответа. например скажем, у вас есть где-то похожий div:
<div id="results"></div>
Затем в вашем JavaScript вы можете сделать это:
$(".callSearch").click(function (e) {
e.preventDefault();
var url = '@Url.Action("Search", "Search")';
$.ajax(
{
type: "GET",
url: 'Search/Search',
dataType: "html",
success: function (response) {
$("#results").html(response); //set the HTML content of the "results" div to be the response from the server, which contains the HTML generated by execution of the partial view
},
error: function () {
alert("Error");
}
});
});
N.B. Обратите внимание, что если вы выполняете ajax-вызов другого проекта с другим URL-адресом и / или портом, вам, возможно, придется настроить другой проект для приема запросов CORS.