我尝试在我的Web应用程序中实现回发调用。 当我向服务器发布调用时,服务器端函数被触发,生成一些逻辑并生成HTML响应代码并发送回页面。服务器的HTML响应未在页面中加载的问题。
这是更详细的例子:
以下是对服务器进行调用的页面:
此处页面的JavaScript代码:
@inherits System.Web.WebPages.WebPage
<h2>GmailOAuthCallback</h2>
<li><a href="/OauthCallBack/GmailOAuthCallback/">Get Contacts</a></li>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$ = jQuery.noConflict()
$(document).ready(function () {
alert("yeah...")
$.post("/OauthCallBack/GmailOAuthCallback",
{ "code": $.urlParam("code") }, //code(in paranthes) - is name of parameter to search
function (resp) {
// alert(resp)
});
})
$.urlParam = function (name) {
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results == null) {
return null;
}
else {
return results[1] || 0;
}
}
</script>
这是捕获后调用并将响应(响应是名为索引的html页面)发送回页面的函数:
public class OauthCallBackController : Controller
{
public ActionResult GmailOAuthCallback(string code)
{
if (Session["contacts"] == null)
Session["contacts"] = GmailServiceWorkflow.GetContacts(code); ;
ViewBag.contacts = Session["contacts"];
return View("Index");
}
}
但是当我从服务器得到响应时,新内容没有显示,我看到了旧内容。 我在firebug控制台中检查了响应是否成功。
以下是它的样子:
任何想法为什么我会在客户端得到响应后看到旧页面内容(即为什么响应没有加载到页面)?