ASP MVC 和 jsonp
我需要通过 MVC 应用程序的 Jsonp 响应发送一些数据。对于 Jsonp 响应方法,我使用了 JsonpFilter。
这是我的 Jsonp 响应方法:
[JsonpFilter]
public JsonResult GetPageName()
{
return new JsonResult
{
Data = Session["Page"],
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
这是 javascript 函数:
$.ajax({
type: "GET",
dataType: "jsonp",
url: 'http://localhost:54845/Login/GetPageName',
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.width + "-" + data.height);
}
});
此代码仅在 FF 上运行良好。在 IE 中什么也没有发生。
我的代码有什么问题?谢谢。
I need to send some data through a Jsonp response from a MVC application. For Jsonp response method i used a JsonpFilter.
This is my Jsonp response method:
[JsonpFilter]
public JsonResult GetPageName()
{
return new JsonResult
{
Data = Session["Page"],
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
and this is the javascript function:
$.ajax({
type: "GET",
dataType: "jsonp",
url: 'http://localhost:54845/Login/GetPageName',
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.width + "-" + data.height);
}
});
This code works great only on FF. In IE nothing is happening.
What is wrong in my code? Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您真的打算对 JSON 数据进行跨域 HTTP GET 吗?如果不是,为什么还要使用 JSONP?只需使用 JSON 即可。
Are you actually planning on making cross-domain HTTP GETs of JSON data? If not, why bother with JSONP? Just use JSON.
Firefox 正在变得松散。其他浏览器都是正经的家伙。
请参阅:在本地主机上运行时不执行 JSONP 回调
引用:
Firefox is being loosey goosey. The other browsers are being prude dudes.
See: JSONP callback doesn't execute when running at localhost
To quote:
问题出在 IE 会话变量上。
如果我用 new {var1 = "var1", var2 = "var2"} 替换 Session["Page"] ,它就可以工作。
所以我需要找到一个解决方案。
谢谢大家。
The problem is with IE session variables.
If i replace Session["Page"] with new {var1 = "var1", var2 = "var2"} it works.
So i need to find a solution for that.
Thank you all.
MVC / JSONP / DataSet 绑定
通过修改上面的代码,我能够让 JSONP 与 MVC 一起使用。此示例通过 JSONP 直接将数据集绑定到 html 元素。
控制器
>
结果
Javascript / JQuery JSON 请求和回调
>
局部视图
XSD
...
表序列化器
>
享受!
马克·布里托
MVC / JSONP / DataSet Binding
I was able to get JSONP to work with MVC by modifying the code above. This sample directly binds datasets to html elements via JSONP.
Controller
>
JSONP Result
Javascript / JQuery JSON Request and Callback
>
Partial View
XSD
...
Table Serializer
>
Enjoy!
Mark Brito