求解js问题,为什么jsremoveeChild会报错,明明去除了啊,结果还会一直错误量上升

54 超时未接收到响应消息
55 等待状态报告超时

CB:0047 用户帐户有误,预付费用户(智能网即神州行,大众卡等)扣费不成功。 
1. 短消息中心发送短消息被显著延迟(具体原因不详)。延迟时间从2小时、4小时到6小时不等。
2. 短消息中心存储短信息的能力以及等待时间都强于网关。
3. 虽然短信息下发延迟,但是都基本已经发送给了客户。但是在短信息中心返回状态报告时,网关的原始发送信息已经找不到(因为网关已经提前返回了其他错误的状态报告MB:0066)。
4. 计费这边只要看到错误单,就算不成功发送。
5. 如果要说明用户的确收到了短信息,但是仅仅是因为短信息中心的问题,那么需要提交手机号码等相关的一系列证明。处理起来非常的棘手。

好像消除不了多余的空行。 
JSP/ASP都会产生多余的空行,一般是由开头部分的声明引起的。

JSP可能要使用Servlet作为替代,否则由于开头的<@page声明,将总是两行。 
播测表是不是要测试两遍? 
是的,第一次是正常测试,然后全部退订再测试一遍。 
刚才我们试了,发00000后,它没提示取消的是哪个业务?是不是一交全部取消了? 
是的,全部取消。 
出现这个问题是由于网关发送鉴权批价请求到MISC时,MISC不给响应或者网关和MISC连接阻塞引起;
请联系移动网关人员解决;

定购业务的那条短信提醒是MISC直接发的吧,我们的流程里面不需要另外加了吧。 
填写取消定购的XML结构需要注意哪些问题? 
ID应该是SP的企业代码。
ID应该是MISC的号码。这个可以通过对方的同步信息里面的ID来确定。 
用户的定制短信息会MO上来吗? 
首次定购的时候,定购的MO会流转成PROV的同步,所以首次定购不会有MO上行到SP的短信网关 
一般是3-5分钟。具体可以通过测试来检查。 
下发帮助信息怎么收不到啊? 
2) 检查费率是否为免费模式。
4) 检查下发号码是否为测试手机号码。
5) 检查网关是否应答,应答是否有错误。
6) 设置报告标志,看看具体的原因。
7) 检查企业代码是否为正确的测试代码。
9) 如果以上都没有问题,则需要寻求卓望工程师的协助。 
什么是全量业务? 
全量就是指在割接前,SP所有的用户业务定购列表。 
什么是增量业务? 
增量就是从全量业务提交开始到正式割接之前的用户业务增加记录。 
请问一下,定制的业务短信提醒如果有几条的话怎么办呢?我们这边还可以加别的定制流程和提醒吗? 
对于定制业务,下行的MT是有一个上限的,其上限值在业务申请中可以体现 。 
1:用户发起行为;2:Admin & 1860发起行为;3:Boss停机;4:Boss开机;5:Boss过户;6:Boss销号;7:Boss改号;8:扣费失败导致的服务取消;9:其他。 
现在MT和MO都有些偏慢!怎么回事情? 
的确目前网关的还不是十分稳定。一般从下午5点开始到晚上7点都会出现一个堵塞的时刻。这个不是SP系统的问题。 
link_id仅在点播的时候有用。包括手机点播,或者SSo点播。
手机点播的时候。MO里面有一个link_id,下发的时候一定要带上。 
点播业务要注意哪些问题? 
点播业务要注意MT的信息的Service_id,Link_id要与上行MO的保持一致。
另外,费率要填写正确了。否则可能会导致下发失败。 
定购关系的时间,有些用户是我们的签约用户没有定购时间,就用今天的时间可以吗? 
这个我得跟计费的确认一下,理论是这肯定是有问题的,今天一天有这么人订购你们的业务么,不知道移动什么怎么看这个问题。建议使用随机函数生成时间,否则一天过多的定购会引起移动的注意。 
能帮我把917410SPOA上的点播业务"短信邮政贺卡"里的点播指令HK(模糊匹配)到034101(精确匹配),改成(模糊匹配)到034101(精确匹配)吗,这样我的问题就解决了(不好意思,是我们业务输理时填错了) 
对指令是可以进行小范围的修改的,但对资费,业务代码,业务类型等修改起来将会十分复杂。请尽量不要出现类似的错误。 
先在短信合作申请里面点接受,然后再业务详情里面最下面点修改。 
中午要交现网业务测试表,那里面是填写正式服务代码呢还是测试服务代码? 
内容格式要求:手机号码 + “,” + 业务代码 + “,” + 定购时间
1. 检查Provision申报的业务处理地址和实际的程序处理地址是否完全一致。
2. 检查处理程序所在的服务器是否有Firewall限制。
3. 检查手机是否为测试注册手机,非本地测试手机是无法进行测试的。
4. 检查手机的操作指令是否正确。
6. 检查自己的程序是否有问题。 
填写的内容都是正确的,为什么手机收到是乱码? 
MT为乱码一般要检查如下问题:
1. 数据库编码和发送程序之间是否存在转码问题。
测试用的SIM卡有什么要求吗? 
必须是本地全球通的SIM卡,千万不要用神州行的进行测试。否则将出现无法上行等奇怪现象。 
提交全量定购关系,是只发注册用户的,还是以前退订的也发? 
全量定购只需要还处于定购状态的用户资料。 
订购关系样例! 
服务代码,手机号,业务代码,时间

SP可以定期得到MISC的定购清单吗? 
在数据业务中心登记后,湖北MISC可以在每月10,20号主动将加密(解密密码为登陆密码)的定购关系清单FTP上载登记FTP服务器,并通过邮箱通知到达.
登记内容包括:企业代码,ftp服务器地址,端口号,登陆用户名,登陆密码,邮箱地址。 
割接完后做啥?! 
如果有SSO业务,把SSO业务测试做完。
接着做“导入成功率”测试。 
2. 注意计费方式要使用第三方付费方式。 
是的,如果你向两个手机发送,就有两个link_id,你要拆开一个个发送。 
反向取消出现122错误是什么原因? 
一种是你们的定购数据没做进去,定购失败。另外一种是格式错误引起的。 建议下载DSMP常见错误表来核对Provision操作中的各种错误。
对于反向取消SP端请求地址需要对应的MISC做相关关联登记,如未登记,也会有122错误应答或者9017错误应答. 
各位我想问一下,填写的短信提醒格式里面的企业ID和服务代码是填公司正式的还填这次分配的测试的号码啊 
反向退定的时候,同一个手机会出现不同的情况,115错误,122错误,110错误等等,有时候又能成功,怎么回事情啊! 
115可能是一个手机号反复取消造成的,第一次取消成功后,如不再次订购,第二次重复取消就会有115错,122,110造成原因很多,得具体查,不过多半是反向取消包的格式有问题 
MISC系统的业务代码区分大小写吗? 
业务代码区分大小写。 
定制成功,但是我们(03414)给用户下发的业务短信回来的状态报告为:[REJECTD] 
是不是只有报上的手机才可以测试呀? 
现在MISC发包月话单是不是还按原来的处理方式。如当月内超过72小时发话单,当月内二次定制发话单 
对,还是这样! 
假如我们有个点播类按条收费的业务叫姓名玄机!费用是1元/条!用户发姓名上来之后,我们会下行5条,这个是MISC收一元钱,还是收5元钱? 
对于用户发送了错误的定制代码,但是我公司没有免费的下行通道,如何把提示信息发给用户啊? 
申请一个空模糊匹配到根接入号的免费点播就行!申请这样一个免费点播业务,用户发送错误的指令就会匹配到这个业务上。
或者使用手机发送,或者申请企业通道。 
LinkID:20位字符串,该字段的值由MISC产生,编码格式为4位MISCID+12位时间+4位序列号。用于点播类业务中MT与MO消息的匹配。
什么是包月点播业务? 
比如有一个业务,是给你免费定制的。 但是定制后发一条信息给用户,就收用户0.1元。单条合计最高收费不得高于包月申请的费用。 
根据网上业务开放的需要,研发中心对CMPP传递的错误代码进行了进一步的扩充,以便能够更好地了解网络上产生错误的原因,该文件作为CMPP2.0的补充规定。
该文件的主要起草人:党京、孙若雯

为了移动梦网短信业务的顺利开展,针对ISMG、SCP、SMSC这些网元产生的响应消息中的错误码和ISMG产生的状态报告中的状态码进行一番整改。
1、ISMG向SCP发送计费请求,此时有两种出错情况:
(1) 因为发送失败、网络原因、SCP超时等原因造成的ISMG未接收到SCP响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“CA:xxxx”,其中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见附录中对xxxx的说明;
(2) 接收到SCP的响应消息表明计费失败,ISMG生成状态报告,状态报告中的stat字段取值为“CB:yyyy”,其中yyyy为SCP返回给ISMG的错误码,其长度为4位,不足4位在前面补0,具体值参见附录中对yyyy的说明。
2、ISMG向SMSC发送短信时,此时有两种出错情况:
(1) 因为发送失败、网络原因、SMSC超时等原因造成的ISMG未接收到SMSC响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“MA:xxxx”,其中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见附录中对xxxx的说明;
(2) 接收到SMSC的响应消息表明SMSC处理消息失败,ISMG生成状态报告,状态报告中的stat字段取值为“MB:zzzz”,其中zzzz为SMSC返回给ISMG的错误码,其长度为4位,不足4位在前面补0,具体值参加附录中对zzzz的说明。
3、目前CMPP2.0中定义了响应消息中的10个返回码,其中0表示成功,1-9分别表示各种错误类型,各厂家在返回错误码时应尽可能向这9个错误码靠拢,当然,因为设计的原因或者查错的方便,厂家可以在规定的厂家自定义错误码空间中定义自己的错误码,但是,定义错误码时不允许存在类似与“其它错误”或者“系统错误”这类含义模糊的情况,即各厂家能够对自己返回的每一个错误码给出明确的含义解释,以利于错误发生时的定位工作。0-99为CMPP协议保留的错误码空间,请各厂家在预留的错误码空间范围:100-199内自行定义,并提供详细的编码解释列表。
4、SCP厂家返回错误码一律按照附录中yyyy值,该值是从《移动梦网短信业务信令流程规范(V1.0)》中摘出来的。
5、SMSC厂家返回错误码一律按照附录中zzzz值,该值是从《短消息中心设备技术接口规范(V1.2)》中摘出来的。
6、ISMG上产生的话单的“短信息发送状态”字段有所修改,该字段原来的值如下表:
SMO SP对网关的应答信息
SMO-F 网关1对网关2的状态报告代码转换成数字
SMT 短消息中心反馈的状态报告代码转换成数字
SMT-F 网关2向网关1回送的状态报告代码转换成数字
SMC 网关成功生成话单的代码
SMC-F 网关2返回的状态代码转换成数字

修改后的该字段的值如下表:
SMO SP对网关的应答信息
SMO-F 网关1对网关2的状态报告代码转换成数字
SMT 短消息中心反馈的状态报告代码转换成数字
SMT-F 网关2向网关1回送的状态报告代码转换成数字,当异常情况状态报告中的stat字段存在四种类型时:1、CA:xxxx,在话单中记录值1000+xxxx;2、CB:yyyy,在话单中记录值2000+yyyy;3、MA:xxxx,在话单中记录值3000+xxxx;4、MB:zzzz,在话单中记录值4000+zzzz;
SMC 网关成功生成话单的代码,全球通用户不变,神州行用户根据错误类型分为:1、CA:xxxx,在话单中记录值1000+xxxx;2、CB:yyyy,在话单中记录值2000+yyyy;
SMC-F 网关2返回的状态代码转换成数字,全球通用户不变,神州行用户根据错误类型分为:1、CA:xxxx,在话单中记录值1000+xxxx;2、CB:yyyy,在话单中记录值2000+yyyy;

7、目的ISMG在一条短信处理流程中,应该生成一个状态报告而且只能生成一个状态报告,即所生成的状态报告应该表明短信的最终状态,在短信处理的中间状态不应该有状态报告产生。
8、所有在上述整改方案中未涉及的情况仍旧按照以前的业务流程规范执行。
0051 尚未建立连接
0052 尚未成功登录
0053 发送消息失败
0054 超时未接收到响应消息
0100-0499 厂家自定义的错误码

0001 非神州行预付费用户
0002 数据库操作失败
0004 超过最大错误次数
0005 移动用户帐户数据异常
0006 服务没有激活
0007 用户余额不足
0008 超过包月费用上限
0009 超过最高欠费额
0010 用户已注册该项服务
0011 用户没有注册该项服务
0014 未登记的网关
0015 网关登录摘要错误
0017 服务器端数据未传完
0018 重复发送消息序列号msgid相同的计费请求消息
0044 未登记的SP业务类型
0045 SP业务类型数据异常
0052 梦网用户已存在
0053 梦网用户不存在
0054 梦网用户状态异常
0055 签约信息已存在
0056 签约信息不存在
0057 签约数据异常
0062 单笔消费超额
0064 短消息编号已存在
0065 对应扣费请求不存在
0066 扣费请求已被确认
0067 未定义的计费类型
0068 未定义的编码方式
0100-0499 厂家自定义的错误码

4、SP常见的错误情况
(1) 状态报告stat为CB:0005:表示神州行用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务;
(2) 状态报告stat为CB:0007:表示神州行用户因为余额不足而导致用户无法享受服务;
(3) 状态报告stat为EXPIRED:表示因为用户长时间关机或者不在服务区等导致的短信息超时没有递交到用户手机上;
(4) 状态报告stat为UNDELIVERABLE:表示全球通用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务。

注:原测试报告中状态报告为REJECTED的情况现在大部分对应到CB:0005和CB:0007这两种情况。


常用错误代码一览表 
在HTTP通信时的状态码请参见HTTP/1.1协议中规定的状态码值,不包含在本规范的返回值统一定义中。
1. 亚信短信网关的SP开发中错误代码对照表

27 在API维护的队列中的包超时
28 API发送数据包失败
29 调用API传进去的参数出错
105 不能打开短信内容文件(MsgFile)
107 连接短信网关失败
109 接收结果数据包失败
113 神州行手机号码扣费失败
114 无法通过短信安全检查
115 群发目的号码个数错误
117 用户手机号码鉴权失败

2. 100-999为业务网关和DSMP之间的接口消息中的错误代码,如下
100 手机号码不存在
104 用户没有使用该业务的权限
108 该业务暂停服务
109 该服务种类不存在
110 该服务种类尚未开通
111 该业务尚未开通
115 用户没有定购该业务
116 用户暂停定购该业务
117 该业务不能对该用户开放
118 用户已经订购了该业务
119 用户不能取消该业务
124 业务价格格式错误
125 业务价格超出范围
126 该用户不是神州行用户
127 该用户没有足够的余额
128 补款,冲正失败
129 用户已经是梦网用户
130 用户在BOSS中没有相关用户数据
132 相关信息不存在
133 用户数据同步出错
135 业务数据同步出错
138 用户相关信息不存在

3. 为业务网关和SCP之间的接口消息中的错误代码,如下
1 移动用户帐户数据无效(非神州行预付费用户)
5 移动用户帐户数据无效(没有激活)
10 用户已注册该项服务。
11 用户没有注册该项服务。
17 服务器端数据未传完

9000 系统磁盘读写错误
9003 业务网关忙,业务网关缓存
9004 业务网关忙,并且业务网关缓冲区满,DSMP缓存,并暂时不要发送消息,等待一段时间重试。
9006 DSMP忙,并且DSMP缓冲区满,业务网关缓存,并暂时不要发送消息,等待一段时间重试。
9007 业务网关超过限制的流量
9009 业务网关异常,并不可用
9010 该业务网关没有权限调用该接口消息
9011 DSMP没有权限发送该接口消息给业务网关
9013 消息类型不对,系统不支持
9014 验证错误,无法解析SOAP和XML结构、缺少必须存在的字段,或者消息格式不正确
9015 拒绝消息,服务器无法完成请求的服务


发送频率如果是1~3次怎么填啊? 
填写最大频率。 

4000-4999为DSMP与SP之间的接口消息中的错误代码:
4007: MISC同步开通服务,但SP端已存在订购关系,且状态为开通
4008: MISC同步开通服务,且SP端不存在订购关系,但开通服务失败
4009: MISC同步开通服务,但SP端已存在订购关系, 且状态为暂停
4010: MISC同步停止服务, 且SP端存在订购关系, 但取消服务失败
4011: MISC同步停止服务, 但SP端不存在订购关系
4012: MISC同步暂停服务, 且SP端存在订购关系, 但暂停服务失败
4013: MISC同步暂停服务, 但SP端不存在订购关系
4014: MISC同步暂停服务, 但SP端已存在订购关系, 且状态为暂停
4015: MISC同步激活服务, 但SP端已存在订购关系, 且状态为开通
4016: MISC同步激活服务, 但SP端不存在订购关系
4017: MISC同步激活服务, 且SP端存在订购关系, 但激活服务失败

9000: 系统磁盘读写错误
9003: 业务网关忙,业务网关缓存
9004: 业务网关忙,并且业务网关缓冲区满,DSMP缓存,并暂时不要发送消息,等待一段时间重试。
9006: DSMP忙,并且DSMP缓冲区满,业务网关缓存,并暂时不要发送消息,等待一段时间重试。
9007: 业务网关超过限制的流量
9009: 业务网关异常,并不可用
9010: 该业务网关没有权限调用该接口消息
9011: DSMP没有权限发送该接口消息给业务网关
9012: 版本不支持
9013: 消息类型不对,系统不支持
9014: 验证错误,无法解析SOAP和XML结构、缺少必须存在的字段,或者消息格式不正确
9015: 拒绝消息,服务器无法完成请求的服务

在MISC割接之际,再次提醒大家业务梳理表的填报事宜。 
一、不许新增业务代码(重要) 
所有业务代码必须是上月产生计费且已经移动审核过的。否则将认为SP虚增业务代码,且移动有权无条件删除。 
按条点播 小于等于 1元/条; 
特殊高单价业务,请单独附一份说明。 
免鉴权类业务,各sp只允许申报一个,具体以帮助类业务体现。 
四、指令匹配及指令数量 
尽量不要填写空指令的模糊匹配指令;只允许聊天类的业务,开放空指令(模糊匹配)到长号码(精确匹配)的方式。 
设置指令时,需要指定指令对应的发送号码(长号码)和指令内容,并可分别指定对发送号码和指令内容是否需要做精确匹配。 
电信服务规范--信息服务业务 
6.1信息服务业务经营者进行各种形式的业务宣传时,在宣传业务内容和使用方式的同时应公示相应的收费标准、收费方式和终止服务方法。
6.2信息服务业务经营者向用户提供任何有偿信息服务时,应事先征得用户同意。信息服务业务经营者向用户提供无偿信息服务时,用户予以拒绝的,信息服务业务经营者应停止提供。
信息服务业务经营者在提供短信息服务时,包月类、订阅类短信服务,必须事先向用户请求确认,且请求确认消息中必须包括收费标准。若用户未进行确认反馈,视为用户撤消服务要求。
在用户拨打接入码接入信息服务业务经营者的语音信息服务业务平台后,业务平台应免费向用户说明收费标准,并在得到用户确认后开始计信息服务费。
6.3信息服务业务经营者应遵照与用户的约定向用户提供信息服务,未得到用户许可,信息服务业务经营者不得擅自改变服务内容和服务频次,不得擅自改变收费方式和降低服务质量。对分条计费的信息,如因传输容量等原因需要回送多条信息内容的,只能收取一条相应信息的信息费。
6.4信息服务业务经营者在提供语音信息服务时不得通过故意插播广告性或者宣传性广告信息以延长服务时间,人工信息咨询员不得谈论与用户所提问题无关的话题,不得故意拖延时间。
6.5信息服务业务经营者在采集、开发、处理、发布信息时,应对信息的内容进行审查,信息服务业务经营者不得提供国家明令禁止传播的信息。信息准确率应达到95%以上。
6.6信息服务业务经营者在提供订制类信息服务业务时,应明示方便用户退订的途径,短信息服务业务经营者应开通方便用户选择退订服务的“0000”、“00000”短信退订功能,并保证退订途径的畅通。
用户提出停止服务时,信息服务业务经营者应及时接受并停止计费。
6.7信息服务业务经营者应保存信息服务计费原始数据,短信息服务系统应当自动记录并保存短信息的发送与接收时间、发送端和接收端的电话号码,保存期限至少5个月。在计费原始数据保存期限内,信息服务业务经营者应根据用户需求提供信息服务收费清单。
6.8基础电信业务经营者在向用户提供电话业务收费单据时,若存在为信息服务业务经营者代收的信息费,应同时向用户提供信息服务业务经营者的名称、代码和代收金额,并注明“代收费”字样。
6.9用户对信息费产生异议或对服务质量不满意时,基础电信业务经营者与信息服务业务经营者均应遵循“首问负责”的原则,共同协商处理,不得互相推诿。
6.10信息服务业务经营者应开通客户服务热线电话,并对社会公布。 
割接时网关登录失败 
割接时如果出现登录网关失败时,请首先检查登录账号/密码是否是正式的企业代码,同时还需要检查登录服务器地址是否和割接前提供的IP地址相符,从而判断是否在网关或MISC方做了IP地址限制;
检查自身程序配置,修改登录账号及密码,同时和网关及MISC核对IP地址信息;

下发MT包时网关返回9、13等等错误 
出现这些错误主要是SP下发的MT包的目的号码格式不正确导致;
请SP检查自身的程序在下发MT包时的目的号码格式是否正确,比如手机号码后面是否带上了空格等等,因为有些网关可能无法去除空格导致下发失败;

手机上行后SP无法收到网关的MO包 
出现这个问题主要是网关没有发送MO消息给SP,或者发送失败引起。这个问题比较复杂,涉及到多个网元。可能是SP和网关的MO连接异常一起,也有可能是网关到MISC的MO鉴权失败引起;
首先请SP自行检查和网关的MO连接进程是否正常,如果连接无异常,那么请联系网关人员和卓望公司技术人员解决;

出现这个错误大部分的原因是由于订购关系未同步引起,MISC会对MT包中的计费号码的订购关系做校验,如果发现不是梦网用户,那么MISC会直接反馈101用户不存在错误;
请检查发送的MT消息的计费用户是否都存在有效订购关系,并且在割接前已经提交给MISC做订购关系导入;

出现这个错误是由于SP发送的MT消息的目的用户在MISC中属于暂停状态;
请SP核查发送的MT消息包中目的号码是否有效、是否是暂停用户,如果都不是那么请联系卓望技术人员解决;

出现这个问题是由与MISC和SP之间的订购关系不同步引起;
请确保发送的MT包中的计费号码存在有效订购关系,不能对无订购关系用户做群发操作。如果仍然存在大量错误,那么请联系卓望技术人员解决,建议双方再次核对订购关系记录;

还问一个问题,就是每个月下行多少条信息给用户,是怎么换算了,比如我包月有5块,10块的.那我至少给5元包月的下多少条信息,10块钱的要下多少条信息? 
单条不能超过一块钱,被投诉了,就不是多点少点的问题了。 
就是无论什么时候定购,包括22号以后的,如果用户在三天内,移动都会给用户下话单了? 
20号以后使用也是免费+72小时免费 
那我18号定购的用户,会不会作为本月进行结算? 
18号定购,如果72小时没有退订,都要计费的 
下发帮助信息怎么收不到啊? 
目前对帮助类下行信息进行了流程控制,需要对帮助类下行信息进行空闲控制,否则可能会大量失败.

linux(fedora)下,我们在使用child_process模块的exec方法时经常会遇到“未找到命令”错误,如下简单示例:

        1、为exec方法的第二个可选参数对象的env属性赋值,即增加执行命令的环境变量。首先你必须找到要执行的命令所在文件夹,我这儿的“lessc”命令位于/usr/local/node/bin文件夹下。注意,在拼接PATH时别忘记了冒号":",因为linux环境变量以冒号分隔。

        因为exec方法在执行命令时,若缺少第二个可选参数,则默认读取process.env中的环境变量值,所以上述代码还可以简化为:

test.js命令时(运行的是未用方法1修改前的test.js),却依旧报相同“未找到命令”错误......我刚学node.js,且对linux(使用fedora中)也不太熟悉,哪位知道如何解决的,求指点迷津,非常感谢。


localhost 调用  这三个主域名都是 和 分别对应指向不同ip的服务器。

利用 iframe 加载 其他域下的文件( ,当 iframe 加载完毕后就可以获取 域名下的 "

此时在进行刷新浏览器,就会发现数据这次真的是成功了



上面的头信息之中,有三个与CORS请求相关的字段,都以Access-Control-开头

  • Access-Control-Allow-Origin :该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求

  • Access-Control-Allow-Credentials: 该字段可选。它的值是一个布尔值,表示是否允许发送Cookie。默认情况下,Cookie不包括在CORS请求之中。设为true,即表示服务器明确许可,Cookie可以包含在请求中,一起发给服务器。这个值也只能设为true,如果服务器不要浏览器发送Cookie,删除该字段即可。

上面的HTTP回应中,关键的是Access-Control-Allow-Origin字段,表示。该字段也可以设为星号,表示同意任意跨源请求。

如果浏览器否定了"预检"请求,会返回一个正常的HTTP回应,但是没有任何CORS相关的头信息字段。这时,浏览器就会认定,服务器不同意预检请求,因此触发一个错误,被XMLHttpRequest对象的onerror回调函数捕获。控制台会打印出如下的报错信息。

服务器回应的其他CORS相关字段如下:

  • Access-Control-Allow-Methods:该字段必需,它的值是逗号分隔的一个字符串,表明服务器支持的所有跨域请求的方法。注意,返回的是所有支持的方法,而不单是浏览器请求的那个方法。这是为了避免多次"预检"请求。

  • Access-Control-Max-Age: 该字段可选,用来指定本次预检请求的有效期,单位为秒。上面结果中,有效期是20天(1728000秒),即允许缓存该条回应1728000秒(即20天),在此期间,不用发出另一条预检请求。

一旦服务器通过了"预检"请求,以后每次浏览器正常的CORS请求,就都跟简单请求一样,会有一个Origin头信息字段。服务器的回应,也都会有一个Access-Control-Allow-Origin头信息字段。

CORS与JSONP的使用目的相同,但是比JSONP更强大。JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

WebSocket protocol是HTML5一种新的协议。它实现了浏览器与服务器全双工通信,同时允许跨域通讯,是server push技术的一种很好的实现。

原生WebSocket API使用起来不太方便,我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下兼容。

node中间件实现跨域代理,是通过启一个代理服务器,实现数据的转发,也可以通过设置cookieDomainRewrite参数修改响应头中cookie中域名,实现当前域的cookie写入,方便接口登录认证。

// 前端开关:浏览器是否读写cookie

NGINX其实个人没有怎么玩过,所以暂且也就不能误人子弟了,原谅笔者才疏尚浅~ 有机会学习研究再回来补充~~

我要回帖

更多关于 jsremove 的文章

 

随机推荐