BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #9835同步于 2010/4/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

[合集] [求助]jquery的ajax问题

xw2423
2010/4/11镜像同步0 回复
☆─────────────────────────────────────☆ xuwln (william) 于 (Sat Jun 27 23:12:45 2009) 提到: 向各位大牛求助: 用jquery写了个查询09广东高考成绩的html页,在本地用浏览器以文件打开运行,没有一点问题!但上传到空间后,点查询只会调转到ajax的请求页面。这是什么原因?权限不够?[upload=1][/upload] ☆─────────────────────────────────────☆ xuwln (william) 于 (Sat Jun 27 23:14:01 2009) 提到: 把附件另存为在本地运行并无问题,但直接打开却不行,真郁闷! ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Sat Jun 27 23:24:44 2009) 提到: ajax不允许跨域访问。。。 【 在 xuwln (william) 的大作中提到: 】 : 向各位大牛求助: : 用jquery写了个查询09广东高考成绩的html页,在本地用浏览器以文件打开运行,没有一点问题!但上传到空间后,点查询只会调转到ajax的请求页面。这是什么原因?权限不够?[upload=1][/upload] ☆─────────────────────────────────────☆ xuwln (william) 于 (Sat Jun 27 23:42:17 2009) 提到: 高人!有没有比较完美的解决方案? ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Sat Jun 27 23:44:05 2009) 提到: ≡(▔﹏▔)≡ 自己写个代理吧,用服务器去取值再在本地做ajax 【 在 xuwln (william) 的大作中提到: 】 : 高人!有没有比较完美的解决方案? ☆─────────────────────────────────────☆ xuwln (william) 于 (Sat Jun 27 23:47:16 2009) 提到: 不太懂,回去查查资料先,谢啦! ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Sat Jun 27 23:54:08 2009) 提到: 就是你用服务器的脚本取那个远程的ajax的值,然后你再调这个文件做ajax 【 在 xuwln (william) 的大作中提到: 】 : 不太懂,回去查查资料先,谢啦! ☆─────────────────────────────────────☆ xuwln (william) 于 (Sun Jun 28 12:37:30 2009) 提到: 再次求助学长,用PHP写的POST页,只返回得到HTTP/1.1 200 OK,没没有需要的信息,这是怎么回事呢。POST的数据跟浏览器POST的完全一样! <?php class post2Url { function post2Url( $url, $host, $port="" ) { $this->url = $url; $this->host = $host; $this->port = ($port == "")? 80 : $port; } //$data是一数组 //数组$key是提交时的变量名 //数组$val是提交时的变量值 //例如array("a"=>"b") POST时为a=b function post( $data ) { $postdata = ""; while ( list( $key, $val ) = each( $data ) ) { $postdata .= $key . "=" . $val . "&"; } $postdata = substr( $postdata, 0, -1); return $this->postval( $postdata ); } function postval( $postdata ) { $datalen = strlen( $postdata ); $fp = fsockopen( $this->host, $this->port); if( $fp ){ $act = "POST ".$this->url." HTTP/1.1\n"; $act .= "Accept: application/json, text/javascript, */*\n"; $act .= "Accept-Language: zh-cn\n"; $act .= "x-requested-with: XMLHttpRequest\n"; $act .= "Content-Type: application/x-www-form-urlencoded\n"; $act .= "Accept-Encoding: gzip, deflate\n"; $act .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\n"; $act .= "Host: ".$this->host."\n"; $act .= "Content-Length: ".$datalen."\n"; $act .= "Connection: Keep-Alive\n"; $act .= "Cache-Control: no-cache\n"; $act .= "Cookie: lstat_bc_1173673=3173753922868495365\n"; $act .= "\n"; $act .= $postdata; echo $act."<br>"; fputs($fp, $act); while(!feof($fp)) { $msg = fgets($fp, 120); return $msg; } fclose( $fp ); } else return false; } } $host = "dg.5184.com"; $url = "/gk2009/webservice/gateway.php"; $post2url=new post2url($url,$host,80); $data = array("zkzh"=>"1402106360","csny"=>"9101"); echo $post2url->post($data); ?> 【 在 xw2423 的大作中提到: 】 : 就是你用服务器的脚本取那个远程的ajax的值,然后你再调这个文件做ajax ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Sun Jun 28 12:43:39 2009) 提到: while(!feof($fp)) { $msg = fgets($fp, 120); return $msg; } 这里怎么读了一次就直接返回了 $msg = ""; while(!feof($fp)) { $msg .= fgets($fp, 120); } fclose($fp); return $msg; 【 在 xuwln (william) 的大作中提到: 】 : 再次求助学长,用PHP写的POST页,只返回得到HTTP/1.1 200 OK,没没有需要的信息,这是怎么回事呢。POST的数据跟浏览器POST的完全一样! : <?php : class post2Url : ................... ☆─────────────────────────────────────☆ xuwln (william) 于 (Sun Jun 28 12:48:18 2009) 提到: 要怎么改? ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Sun Jun 28 12:49:56 2009) 提到: 上面写了额,你试试。。。 【 在 xuwln (william) 的大作中提到: 】 : 要怎么改? ☆─────────────────────────────────────☆ xuwln (william) 于 (Sun Jun 28 13:03:34 2009) 提到: 高明! &#65279;HTTP/1.1 200 OK Server: nginx/0.7.58 Date: Sun, 28 Jun 2009 13:02:39 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Vary: Accept-Encoding X-Powered-By: PHP/5.2.9 Content-Encoding: gzip e8 ?u?A??0 E&#63669; ;q???YH[?aS?Tq?2#u?B&#653310;V?S&#1991;y?f??X?&#46309;BP?Ωg?f?Q+<&&#1903;?x????&?&#15594;g&#296;&#330;&#150;A?拙?8(傗??Lf?6?TS'R?捆&#826686;|&#1185;??&#1902;?HgI???\鉦?W&#741;?&#1654;?C?L ?&#1732;?潚&#1678;??jr8?V&#1982;?2,T3?z?? 0 ☆─────────────────────────────────────☆ xuwln (william) 于 (Sun Jun 28 13:24:56 2009) 提到: 。。。。本应该返回JSON: {"success":true,"message":"","result":{"ks":{"xm":"\u674e\u6167\u534e","zkzh":"1402106360"},"cj":[{"km" :"\u8bed\u6587","kmdm":"001","cj":"120"},{"km":"\u7406\u79d1\u6570\u5b66","kmdm":"002","cj":"82"},{"km" :"\u7406\u79d1\u57fa\u7840","kmdm":"005","cj":"132"},{"km":"\u5316\u5b66","kmdm":"012","cj":"115"},{"km" :"\u82f1\u8bed","kmdm":"031","cj":"117"},{"km":"\u5316\u5b66\u4e94\u79d1\u603b\u5206","kmdm":"612","cj" :"566"}]},"ts":1246195187} 可是却得到一些乱码。 e8 ?u?A??0 E&#63669; ;q???YH[?aS?Tq?2#u?B&#653310;V?S&#1991;y?f??X?&#46309;BP?Ωg?f?Q+<&&#1903;?x????&?&#15594;g&#296;&#330;–A?拙?8(傗??Lf?6?TS'R?捆&#826686;|&#1185;??&#1902;?HgI???\鉦?W&#741;?&#1654;?C?L ?&#1732;?潚&#1678;??jr8?V&#1982;?2,T3?z?? 0 对UTF-8还要特殊处理? ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Sun Jun 28 14:08:24 2009) 提到: 现在能访问么,我这是访问不了,直接通过web 【 在 xuwln (william) 的大作中提到: 】 : 。。。。本应该返回JSON: : {"success":true,"message":"","result":{"ks":{"xm":"\u674e\u6167\u534e","zkzh":"1402106360"},"cj":[{"km" : :"\u8bed\u6587","kmdm":"001","cj":"120"},{"km":"\u7406\u79d1\u6570\u5b66","kmdm":"002","cj":"82"},{"km" : ................... ☆─────────────────────────────────────☆ xuwln (william) 于 (Sun Jun 28 14:11:55 2009) 提到: 还在写代理啊。 正常情况下,代理页面应该返回一个JSON字符串,可现在得到的全是乱码。如果是编码问题,应该只是中文乱码才对。 【 在 xw2423 的大作中提到: 】 : 现在能访问么,我这是访问不了,直接通过web ☆─────────────────────────────────────☆ xuwln (william) 于 (Sun Jun 28 14:15:36 2009) 提到: 把文件发上来吧。 【 在 xuwln 的大作中提到: 】 : 还在写代理啊。 : 正常情况下,代理页面应该返回一个JSON字符串,可现在得到的却是乱码。 [upload=1][/upload] ☆─────────────────────────────────────☆ songyancui (csy) 于 (Sun Jun 28 19:14:26 2009) 提到: function loadJson( url ) { var script = document.createElement( 'script' ); script.type = 'text/javascript'; script.src = url; document.getElementsByTagName('head')[0].appendChild( script ); } 这个可以解决跨域问题 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Sun Jun 28 21:29:18 2009) 提到: 因为你请求的是gzip压缩过的结果 你的请求header的access-encoding里面不要放gzip 【 在 xuwln (william) 的大作中提到: 】 : 。。。。本应该返回JSON: : {"success":true,"message":"","result":{"ks":{"xm":"\u674e\u6167\u534e","zkzh":"1402106360"},"cj":[{"km" : :"\u8bed\u6587","kmdm":"001","cj":"120"},{"km":"\u7406\u79d1\u6570\u5b66","kmdm":"002","cj":"82"},{"km" : ................... ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Sun Jun 28 22:42:44 2009) 提到: 这不是加载一个js么?? 和ajax跨域有什么关系? 【 在 songyancui (csy) 的大作中提到: 】 : function loadJson( url ) { : var script = document.createElement( 'script' ); : script.type = 'text/javascript'; : ................... ☆─────────────────────────────────────☆ songyancui (csy) 于 (Mon Jun 29 13:07:58 2009) 提到: url="http://www.xxxx.com?var=asdf" function loadJson( url ) { var script = document.createElement( 'script' ); script.type = 'text/javascript'; script.src = url; document.getElementsByTagName('head')[0].appendChild( script ); } 这就可以跨域传送参数,接受时可以用jsonp的方式接受 【 在 dickfu 的大作中提到: 】 : 这不是加载一个js么?? : 和ajax跨域有什么关系? ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Mon Jun 29 16:38:39 2009) 提到: 那post呢?? 【 在 songyancui (csy) 的大作中提到: 】 : [B]url="http://www.xxxx.com?var=asdf" : function loadJson( url ) { : var script = document.createElement( 'script' ); : ................... ☆─────────────────────────────────────☆ songyancui (csy) 于 (Mon Jun 29 20:23:10 2009) 提到: 问题在于这个也不是 get啊 。 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Mon Jun 29 21:00:07 2009) 提到: 那post的字段在哪里呢?? 不要告诉我在url的问号后面哈... 【 在 songyancui (csy) 的大作中提到: 】 : 问题在于这个也不是 get啊 。 ☆─────────────────────────────────────☆ songyancui (csy) 于 (Mon Jun 29 22:32:32 2009) 提到: 这个不可能有post的啊。但也不会在地址栏看得见。 只是网络上常用的方法而已。也可以用image,。 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Mon Jun 29 22:35:30 2009) 提到: ......... 人家的ajax请求是要post东西的.. 【 在 songyancui (csy) 的大作中提到: 】 : 这个不可能有post的啊。但也不会在地址栏看得见。 只是网络上常用的方法而已。也可以用image,。 ☆─────────────────────────────────────☆ songyancui (csy) 于 (Mon Jun 29 23:04:05 2009) 提到: 你说的是传送数据的话 ,$_request['var']就是 asdf 这个意思 ~~~~
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。