兼容模式下的Internet Explorer以ajax回调方法从服务器获取数据,如果我想保存数据或打开,则会弹出一个对话框.如何摆脱它?
客户说:
$.ajax({
type:'POST',
data: $("#UIdlgHolder > form").serialize(),
url: $("#UIdlgHolder > form").attr("action"),
success: function (data, textStatus, jqXHR) {
{
alert(data.message);
}
}
Run Code Online (Sandbox Code Playgroud)
服务器答案:
return new JsonResult { Data = new { result = false, message = "Yay!" } };
Run Code Online (Sandbox Code Playgroud) 我正在尝试在cmd(bat文件)中运行此reg代码,但我无法使其工作.我哪里做错了?
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"HomePage"=dword:00000001
Run Code Online (Sandbox Code Playgroud)
如果我将它作为一个reg文件并双击,它就可以工作.
Bat文件代码(这不起作用,没有错误):
@echo off
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /V HomePage /T REG_DWORD /F /D 1
Run Code Online (Sandbox Code Playgroud) 我正在尝试上传文件并返回有关文件属性(名称,大小等)的json响应.它在除IE之外的所有浏览器中都能正常工
IE尝试将JSON下载为文件!
我有IE10并通过从调试器更改浏览器模式和文档模式在IE7到10上测试它.
我使用的是asp.net mvc4,文件上传操作有HttpPost属性,我使用return Json(myObject)返回json响应;
这是我的http标题
请求
Key Value
Request POST /File/UploadFile/ HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Referer http://localhost:63903/
Accept-Language en-NZ
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Content-Type multipart/form-data; boundary=---------------------------7dc1e71330526
Accept-Encoding gzip, deflate
Host localhost:63903
Content-Length 1377002
DNT 1
Connection Keep-Alive
Cache-Control no-cache
Run Code Online (Sandbox Code Playgroud)
响应
Key Value
Response HTTP/1.1 200 OK
Server ASP.NET Development Server/11.0.0.0
Date Tue, 18 Dec 2012 23:44:19 GMT
X-AspNet-Version 4.0.30319
X-AspNetMvc-Version 4.0
Cache-Control private
Content-Type application/json; charset=utf-8
Content-Length 154 …Run Code Online (Sandbox Code Playgroud) 这不是一个编程问题,但需要用几句话来表达你的观点.
当我们点击Broswer中的JSON url时,它会要求我们保存文件.为什么会这样?有没有办法在页面上查看它?是否有任何插件可用于在浏览器中查看JSON文件?
我开始使用新的ASP.NET Web API.当我使用FF或Chrome等浏览器打开示例服务方法调用时,它会在浏览器中正确返回xml.但是,在Internet Explorer(7-9)中它会显示一个提示:
是否要从[servername]打开或保存读取(58个字节)?
当我选择Open时,它会询问打开哪个程序,然后它将在该程序中显示xml.我希望,因为方法接受GET方法,它只会在浏览器中返回结果,但是IE似乎并非如此.我在返回JSON之前使用ASP.NET MVC遇到过这种问题,但是在这种情况下我甚至都没有返回JSON.
如何让IE在FF和Chrome浏览器中返回结果呢?
好的,所以我从Internet Explorer获得这个奇怪的意外响应,同时用smartyin 测试文件上传php.
这里我的文件上传(view)简化为主要问题的智能代码,对于那些没有使用activecollab的人Router::assemble来说,只是形成一个带有从MVC读取的参数的URL.
界面http://iforce.co.nz/i/23bgy0fj.1cc.png
<div id="xero_invoice_manager_api">
{form action=Router::assemble('xero_invoice_manager_api') method=post id="xero_invoice_manager" enctype="multipart/form-data"}
<div class="content_stack_wrapper">
<input type="file" name="file_1" /><br/>
<input type="file" name="file_2" /><br/>
{wrap_buttons}
{submit success_event="api_updated" }Authenticate{/submit}
{/wrap_buttons}
{/form}
</div></div>
Run Code Online (Sandbox Code Playgroud)
这是我的jquery view.
App.Wireframe.Events.bind('api_event_finished.content', function(event, settings) {
App.Wireframe.Flash.success(App.lang('Xero Invoice Manager has saved/uploaded your Xero API data.'));
});
Run Code Online (Sandbox Code Playgroud)
这是我的简化控制器(我发现问题是smarty而不是php).
//api view
function api(){
if ( $this->request->isSubmitted()) {
$this->response->respondWithData(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器上传发生..
//api view
function api(){
$this->assignSmarty();
if ($this->request->isSubmitted()) {
$this->XeroAuthUpdate(); //update everything
if(isset($_FILES)){
$file_manager …Run Code Online (Sandbox Code Playgroud) 每当我尝试导航到Firefox上的JS文件时,我都会得到一个另存为对话框.我希望能够在实际浏览器中查看源代码,而不必在另一个编辑器中下载和打开该文件.
有什么方法可以强迫Firefox查看文件吗?
编辑这里是一个快照:

我正在构建一个教科书.NET WebAPI Web服务,在最简单的情况下,它应该接收一个GET请求并返回一个JSON对象数组.
但是该项目还加载了NewtonsoftJSON nuget包,显然该包重新定义了ApiController类,因此它的Json()方法有不同的声明.最终结果是我得到以下编译时错误:
如何保护我的控制器声明不被Newtonsoft重新定义?
public class ImmediateInformationController : ApiController
{
public JsonResult Get([FromUri] ImmediateInformation ii)
{
// some code here
return this.Json(iil, JsonRequestBehavior.AllowGet);
}
}
Run Code Online (Sandbox Code Playgroud)
一点背景:最初我只是回来iil,但是在浏览器中测试时,它提示下载ImmediateInformation.json文件,其中包含我需要的JSON.以上是尝试将JSON作为纯文本返回,这使我发现Newtonsoft ApiController在参数类型与MSDN文档不匹配时重新定义.
重新上限:问题只是使用JSON下载问题来说明我在做什么.我如何确保当我声明控制器类是其后代时ApiController,它是Microsoft的API控制器,而不是Newtonsoft的?
firefox ×2
javascript ×2
jquery ×2
json ×2
activecollab ×1
batch-file ×1
c# ×1
c#-4.0 ×1
cmd ×1
http-headers ×1
json.net ×1
php ×1
registry ×1
save-as ×1
smarty ×1
windows ×1