Javascript MVC JsonResult不使用chrome?
我希望jquery从我的MVC控制器获取一个JsonResult,但它不会接收任何数据 如果我把输出放进一个文本文件并输入它的链接,它就会工作,所以我认为我的jQuery很好 然后我用其他浏览器(如chrome)进行测试,结果什么也没看到。请求的页面只是emtpy。。没有错误。另外,IE似乎在接收我的字符串时遇到问题。。只有firefox显示字符串,但为什么Javascript MVC JsonResult不使用chrome?,javascript,jquery,asp.net-mvc,json,Javascript,Jquery,Asp.net Mvc,Json,我希望jquery从我的MVC控制器获取一个JsonResult,但它不会接收任何数据 如果我把输出放进一个文本文件并输入它的链接,它就会工作,所以我认为我的jQuery很好 然后我用其他浏览器(如chrome)进行测试,结果什么也没看到。请求的页面只是emtpy。。没有错误。另外,IE似乎在接收我的字符串时遇到问题。。只有firefox显示字符串,但为什么 public JsonResult jsonLastRequests() { List<Reques
public JsonResult jsonLastRequests()
{
List<Request> requests = new List<Request>();
while (r.Read())
{
requests.Add(new Models.Request()
{
ID = (int)r[0],
SiteID = r[1].ToString(),
Lat = r[2].ToString(),
City = r[4].ToString(),
CreationTime = (DateTime)r[5]
});
}
r.Close();
return Json(requests);
}
我通过添加以下内容解决了我的问题:
访问控制允许源代码:您的代码缺少片段(DataReader,r,来自哪里?),但假设这是一个精简版本,我看不出有任何问题……缓存问题?试着在jQuery.ajax调用中设置cache:false……这与jQuery无关,因为我在chrome上看不到任何东西,这甚至可以编译吗?“r”在哪里声明和填充?它现在在所有浏览器中都使用字符串。。但是jQuery仍然没有加载任何内容。我得到以下错误:Access-Control-Allow-Origin不允许使用Origin。如果您通过传递短url来代替“”来发出内部请求,则这是一个跨浏览器错误http://../jsonLastRequests“尝试一下/controller/jsonLastRequests
public HtmlString jsonLastRequests()
{
List<Request> requests = new List<Request>();
while (r.Read())
{
requests.Add(new Models.Request()
{
ID = (int)r[0],
SiteID = r[1].ToString(),
Lat = r[2].ToString(),
City = r[4].ToString(),
CreationTime = (DateTime)r[5]
});
} r.Close();
System.Web.Script.Serialization.JavaScriptSerializer jSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
return new HtmlString(jSerializer.Serialize(requests ));}
public HtmlString jsonLastRequests()
{
List<Request> requests = new List<Request>();
while (r.Read())
{
requests.Add(new Models.Request()
{
ID = (int)r[0],
SiteID = r[1].ToString(),
Lat = r[2].ToString(),
City = r[4].ToString(),
CreationTime = (DateTime)r[5]
});
} r.Close();
System.Web.Script.Serialization.JavaScriptSerializer jSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
return new HtmlString(jSerializer.Serialize(requests ));}
$.ajax({
type: 'POST',
url: '/home/GetSurvey',
data: {
XmlPath: $("#xmlpath").val()
},
dataType: 'json',
success: function (jsonData) {
jsonStringQuestionaire = jsonData;
LoadSurvey();
},
error: function () {
alert('Error loading ' + id);
}
});
questionaireJsonList = eval(jsonStringQuestionaire);