This time I will show you how to configure Google Chrome to support AJAX requests of the file protocol. What are the precautions for configuring Google Chrome to support AJAX requests of the file protocol? The following is a practical case. Let’s take a look. one time.
What's the problem
In the WEB development process, many times we write some simple demos instead of developing a complete project. At this time, our common operations are : •Create a new folder •Create the required files
•Complete the DEMO coding in Sublime (or other
editor) •Double-click the HTML file, Run the demo directly in the browser
XMLHttpRequest cannot load file:///Users/iceStone/Documents/Learning/angular/demo/angular-moviecat/movie/view.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
The reason is very simple, the security policy of the browser (Webkit kernel) Applications that determine file protocol access cannot use the XMLHttpRequest object. The error message also clearly states:Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension , https, chrome-extension-resource.
Cross-domain requests only support protocols: http, data, chrome, chrome-extension, https, chrome-extension-resource In a certain This operation is allowed in some browsers, such as Firefox browser, which means that Filefox supports AJAX requests under the file protocol.Solution
As my personal favorite Chrome, it is powerful, there is nothing to say, except that it is unexpected, and almost impossible, so it must be supported:Windows:
•Set Chrome’s shortcut properties and add –allow-file-access-from-files after “target” , notice there is a space in front of it, just reopen Chrome.Mac:
•The browser can only be opened through the terminal: Open the terminal and enter the following command: open -a “Google Chrome” – args –disable-web-security and then you can block secure access [-args: This parameter is optional]Supplementary instructions
In the long run, you You definitely need to access your application through HTTP, then you need to configure HTTP server software. However, for some students who are just getting started, setting up an HTTP server (such as Apache, IIS, etc.) is cumbersome and prohibitive. •There is nothing to say to students who use IDEs. Every IDE used for web development has a built-in http server, so there is no need to configure it separately. •For students who like lightweight editors, such as Sublime Text, it does not have a built-in HTTP server by default
•Command+Shift+P or Ctrl+Shift+P to open the command panel, Enter Package Control: Install Package
•Wait for a moment (it will connect to the plug-in provider's server at this time, which is relatively slow and may be behind the wall), search for SublimeServer
•After the installation is completed, go to Tool → SublimeServer → Start SublimeServer
•Be sure to use Sublime by opening a folder, otherwise you will not be able to use SublimeServer normally.
•Open the HTML file and select View in SublimeServer in the right-click menu. At this time, you can access the file in the browser through HTTP.
•If this option is gray, it means that SublimeServer is not started. , Tool → SublimeServer → Start SublimeServer
If Start SublimeServer cannot be clicked, the current port 8080 may be occupied (SublimeServer uses port 8080 by default)
The solutionis to open the configuration fileChange the port Modify to other ports:
The following is my configuration:
{ "attempts": 5, "autorun": false, // 是否在启动Sublime时自动启动SublimeServer "defaultExtension": ".html", "interval": 500, "mimetypes": { "": "application/octet-stream", ".c": "text/plain", ".h": "text/plain", ".py": "text/plain" }, "port": 2016 // 端口号 }
Of course other editors have similar plug-ins.
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
How does ajax pass an array to the background
How to implement AJAX paging effect
The above is the detailed content of How to configure Google Chrome to support AJAX requests of the file protocol. For more information, please follow other related articles on the PHP Chinese website!