Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AJAX异步请求结束之前更改页面_Ajax_Asp.net Mvc_Json - Fatal编程技术网

在AJAX异步请求结束之前更改页面

在AJAX异步请求结束之前更改页面,ajax,asp.net-mvc,json,Ajax,Asp.net Mvc,Json,查看 $("#button").click(function () { $('#result').html("Processing..."); $.ajax({ url: '@Url.Action("GetData", "Json")', async: true, dataType: "json", type: "GET", success: function (data) { $('#r

查看

$("#button").click(function () {
    $('#result').html("Processing...");
    $.ajax({
       url: '@Url.Action("GetData", "Json")',
       async: true,
       dataType: "json",
       type: "GET",
       success: function (data) {
           $('#result').html(data);
       },
    });
    return false;
});
控制器

public class JsonController : AsyncController
{
    [HttpGet]
    public async Task<JsonResult> GetData()
    {
        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri("http://localhost:8000/myservice.svc/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.GetAsync("GetData");
            var result = await response.Content.ReadAsAsync<JSONResponse>();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
    }
}
我正在从asp.net mvc应用程序异步调用wcf restful服务,并在div中显示结果。 当我点击按钮,服务开始处理,同时我尝试更改页面时,我无法。。。只有在我从服务中得到结果后,页面才会更改

我怎样才能在服务执行时保持更改,并且在服务完成时只在div中显示数据

编辑:更改页面意味着在div下面呈现不同的局部视图。

正如我在博客中所描述的

您需要使用为此而设计的技术,例如Signal

class JSONResponse{ 
    public int Value { get; set; } 
    public string Text { get; set; }
}