1、前段时间学习headfirst AJAX,发现有些概念比较陌生,理解起来比较困难,等看完了半本的JavaScript高级程序设计,再回头看这本AJAX,发现轻松了很多,但是遇到了一个问题,AJAX请求php后,返回的竟然是整个php代码,按书上的说法,应该是返回echo的内容才是啊,虽然之前学习第一章的时候,也遇到了这个问题,当时并没有在意,以为是书的内容毕竟不太新了,可能是哪里出了问题,但是第二张再次遇到这个问题,应该不是书的问题了。该想想自己哪里出了问题。

2、经过从网上查找类似问题的解答,发现一个“服务器环境”这个词,最终我的理解是,我的这个不是服务器环境,看不懂php的代码,所以需要在本地配置服务器环境。

3、如何配置?又查到一个词:PHPNOW,是一个php环境套件。OK,开始下载安装,安装的时候出现一个问题,安装服务[apache_pn]失败,给出的可能原因里有一条非管理员权限,猜测是这个问题,那么我右键管理员权限打开呢——直接闪退……

4、求助于网络,发现要从命令提示符(管理员)进入安装目录后打开安装程序,这个顺利顺利解决。但是,怎么使用呢?

5、安装完成后自动蹦出了localhost页面,IP是127.0.0.1,难道我这就是我的网络地址?尝试用127.0.0.1访问,发现可以进入这个界面,也就是说,如果我把php文件放在这个页面的根目录下,然后就可以正常请求了?尝试一下。

6、在js里修改请求路径:var url="http://127.0.0.1/checkName.php?username=" + username;打开本地的html,然后alert了一下请求的status,发现一直是0,正常来说不应该是200嘛!哪里出了问题?

7、打开火狐的调试,查看网络,发现状态是200 OK,

但是为什么alert显示状态是0呢,又看了一下控制台,恍然大悟——

由于我是在本地请求的一个地址,所以属于跨源请求,被拦了,既然知道怎么回事了,解决也就容易了。

8、不过可能当时没吃饭,脑子转的有点慢,没有想到把本地的html都放在服务器目录下,从127.0.0.1进去访问,js里的请求路径也可以使用相对路径了,也就是说什么都不用改,把所有文件放在服务器目录下,用浏览器访问,问题就可以解决了。

9、不过我当时的做法——从本地html请求,但是把服务器里的php文件加了——

  1. header("Access-Control-Allow-Origin: *");
  2. header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

——允许跨源请求,当然结果也是OK的。
10、各种方法来源于网上,吐槽一下headfirst AJAX这本书,配置服务器环境都不带提一下的,花了3个多小时才搞定这点事。不能能搞明白怎么回事也是挺爽的,顺便还省了一顿晚饭。

AJAX中本地使用XHR可参考http://www.cnblogs.com/zczhangcui/p/6358675.html

AJAX-初学AJAX本地环境配置的更多相关文章

  1. Maven-001-初识及本地环境配置

    前段时间想对自己之前写的一些代码或者小工具,因为写的比较乱,因而想系统的管理一下自己学习 Java 时写的源码,经过多方请教.网上查询,最终决定使用 Maven 来管理自己写的代码. Maven 是一 ...

  2. Swagger本地环境配置

    一.技术背景 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染.先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远.而前后端的唯一联系便是 API 接口,与此同 ...

  3. 使用xampp在本地环境配置虚拟域名

    最近在学习ThinkPHP5.1.手册里面提到"实际部署中,应该是绑定域名访问到public目录,确保其它目录不在WEB目录下面."所以把使用xampp在本地配置虚拟域名的过程记录 ...

  4. Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法

    Mac上其实已经自带了Apache和PHP,只是默认关闭的.开启一下就行了. Apache配置 apache已经自带了,只需在“终端”输入命令开启下就行了. ​​​开启apache服务 sudo ap ...

  5. 前端开发本地环境配置(Apache+Dreamweaver)

    一.安装apache服务器 1.下载apache软件: 2.安装,直接下一步就好: 3.安装好后找到安装文件夹下的conf文件中的httpd.conf: 4.打开httpd.conf文件,做以下修改: ...

  6. maven 项目搭建,本地环境配置。

    一,下载地址 http://maven.apache.org/download.cgi 英文不好的,可以在浏览器下载个翻译的插件,就好了,我用的是谷歌. 二, 解压文件,安装在自己制定的目录,注意安装 ...

  7. UPUPW本地环境配置thinkphp5的问题

    问题解决参考: https://blog.csdn.net/lengyue1084/article/details/80001625 看httpd-vhosts.conf的配置: <Virtua ...

  8. iOS组件化开发一本地环境配置(一)

    首先我们要使用pod支持组件化开发 解决CocoaPods慢的方案(gem和pod repo换源) gem换源 $ gem sources --remove https://rubygems.org/ ...

  9. JMeter学习-002-JMeter环境配置

    本节主要介绍 JMeter 本地环境配置(JMeter 版本为 apache-jmeter-2.12),详细配置如下: 一.JDK配置 默认用户本地已经安装且配置好 JDK.若未配置,敬请参阅我的博客 ...

随机推荐

  1. avalon.js路由

    之前自己写了一个AJAX加载页面的方法:有时候一个页面里面会分区域加载不同的东西(div,html),但是IE的回退按钮,就失去任何意义了: 这两天研究了一下avalon.js的路由: 需要准备: 1 ...

  2. 表单 - Form - 无刷新提交原理

    为什么Form组件的表单提交可以做到无刷新? EasyUI在提交的时候,将表单作为一个隐藏的iframe进行的提交,并不是我们看到的那个表单进行的提交 并且那个iframe使用了绝对定位,保证页面上不 ...

  3. SQL 按特定字段值排序

    SQL 按特定字段值排序的代码,有需要的朋友可以参考下. id, name shandong01 name1 shandong02 name2 shandong03 name3 beijing01 n ...

  4. Linux常用命令笔记

    ~ 我的home目录/ 系统根目录进入home目录:cd \进入跟目录:cd /Maven编译:mvn clean deploy -U -Dmaven.test.skip=true dependenc ...

  5. C# 6.0

    C# 6.0 的新语法特性   回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都 ...

  6. 玩转Android Camera开发(二):使用TextureView和SurfaceTexture预览Camera 基础拍照demo

    Google自Android4.0出了TextureView,为什么推出呢?就是为了弥补Surfaceview的不足,另外一方面也是为了平衡GlSurfaceView,当然这是本人揣度的.关于Text ...

  7. jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)

    一.确认CLI所使用的端口 以domain模式为例,查看domain controller(也就是master主机)上的host.xml <management-interfaces> & ...

  8. [C]基本数据类型:整型(int)用法详解

    1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int是整型之一,一般被称为整型.以后,在不产生歧义的情况下,我们把整数类型和int都称为整 ...

  9. stringstream的用法【转】

    [本文来自]http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/ ...

  10. 我的第一个 JSP (SSH) 个人网站【开源】

    唠叨两句背景 相当长时间没上来发帖了,最近几个月除了完成产品经理一个又一个重复又重复的app开发任务之外,最大的工作莫过于充分利用上笔主的业余时间,系统性地跟李刚同志学习JavaEE的SSH框架开发技 ...