鱼C论坛

 找回密码
 立即注册
查看: 3296|回复: 7

[已解决]$.ajax 求助

[复制链接]
发表于 2019-1-24 21:07:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 水瓶座 于 2019-1-24 21:12 编辑
  1. <!DOCYTPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <link rel="icon" href="../favicon.ico" type="image/x-icon"/>
  6. <title>标题</title>
  7. <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  8. <script>
  9. function seach(){
  10.     var content = document.getElementById("content");
  11.     $.ajax(
  12.         type: "post",
  13.         url: "http://app.91fuyun.com:8787/service/rest",
  14.         data:{
  15.            "apiVersion":"v1",
  16.            "params[keyword]":content.value,
  17.            "app_version":"3",
  18.            "api":"cartoon.search"
  19.         },
  20.         contentType: 'application/x-www-form-urlencoded;charset=utf-8',
  21.         complete: function(xhr,status){
  22.             alert(status);
  23.         },
  24.         error: function(xhr,status,error){
  25.             alert(error);
  26.         },
  27.         success: function(data,status,xhr){
  28.             alert(status);
  29.         },
  30.         dataType:"text");
  31.     alert(content.value);
  32.     $(".all").html("预备,各就位!");
  33. }
  34. </script>
  35. </head>
  36. <body>
  37. <div class="all">
  38. <div class="seach">
  39. <input type="text" value="" id="content">
  40. <button type="button" onclick="seach()">搜索</button>
  41. </div>
  42. <div class="choose">
  43. </div>
  44. <div class="show">
  45. </div>
  46. </div>
  47. </body>
  48. </html>
复制代码


要么发不了请求,要么不执行回调函数。实在没辙了!!!

求大佬解决!
最佳答案
2019-1-25 14:10:36
水瓶座 发表于 2019-1-25 12:00
不会吧!见图1

虽然这个post的地址是我随便找的

ajax() 方法用于执行 AJAX(异步 HTTP)请求。

所有的 jQuery AJAX 方法都使用 ajax() 方法,该方法通常用于其他方法不能完成的请求。

语法:
  1. $.ajax({name:value, name:value, ... })
复制代码


鱼油(报错哈,缺少"{}"):
  1. $.ajax(
  2.                 type: "post",
  3.                 url: "http://app.91fuyun.com:8787/service/rest",
  4.                 data:{
  5.                 "apiVersion":"v1",
  6.                     "params[cartoon_id]":content.value,
  7.                     "app_version":"3",
  8.                     "api":"cartoon.getcartoon"
  9.             },
  10.             contentType: 'application/x-www-form-urlencoded;charset=utf-8',
  11.                 complete: function(xhr,status){
  12.                 alert(status);
  13.             },
  14.             error: function(xhr,status,error){
  15.                 alert(error);
  16.             },
  17.             success: function(data,status,xhr){
  18.                 alert(status);
  19.             },
  20.             dataType:"text"
  21.         );
复制代码


修改:
  1. <!DOCYTPE HTML>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8" />
  5.     <link rel="icon" href="../favicon.ico" type="image/x-icon"/>
  6.     <title>标题</title>
  7.     <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  8.     <script>
  9.         function seach(){
  10.             var content = document.getElementById("content");
  11.             $.ajax({
  12.                 type: "post",
  13.                 url: "http://app.91fuyun.com:8787/service/rest",
  14.                 data:{
  15.                 "apiVersion":"v1",
  16.                     "params[cartoon_id]":content.value,
  17.                     "app_version":"3",
  18.                     "api":"cartoon.getcartoon"
  19.             },
  20.             contentType: 'application/x-www-form-urlencoded;charset=utf-8',
  21.                 complete: function(xhr,status){
  22.                 alert(status);
  23.             },
  24.             error: function(xhr,status,error){
  25.                 alert(error);
  26.             },
  27.             success: function(data,status,xhr){
  28.                 alert(status);
  29.             },
  30.             dataType:"text"
  31.             });

  32.             alert(content.value);
  33.             $(".all").html("预备,各就位!");
  34.         }
  35.     </script>
  36. </head>
  37. <body>
  38. <div class="all">
  39.     <div class="seach">
  40.         <input type="text" value="198" id="content">
  41.         <button type="button" onclick="seach()">搜索</button>
  42.     </div>
  43.     <div class="choose">
  44.     </div>
  45.     <div class="show">
  46.     </div>
  47. </div>
  48. </body>
  49. </html>
复制代码

Snip20190125_61.png


代码可以跑通了哈,只是请求不到数据(需要你重新设计):
Snip20190125_62.png

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-25 09:57:16 | 显示全部楼层
代码没问题,鱼油请求的服务器没法用哈:
Snip20190125_57.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 12:00:39 | 显示全部楼层
不二如是 发表于 2019-1-25 09:57
代码没问题,鱼油请求的服务器没法用哈:

不会吧!见图1

虽然这个post的地址是我随便找的

这次,换了data,望大佬继续帮忙看看,它是真的没反应,见图2

证明这地址没问题,见图3

修改后,只动了post的data和input的value:
  1. <!DOCYTPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <link rel="icon" href="../favicon.ico" type="image/x-icon"/>
  6. <title>标题</title>
  7. <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  8. <script>
  9. function seach(){
  10.     var content = document.getElementById("content");
  11.     $.ajax(
  12.         type: "post",
  13.         url: "http://app.91fuyun.com:8787/service/rest",
  14.         data:{
  15.            "apiVersion":"v1",
  16.            "params[cartoon_id]":content.value,
  17.            "app_version":"3",
  18.            "api":"cartoon.getcartoon"
  19.         },
  20.         contentType: 'application/x-www-form-urlencoded;charset=utf-8',
  21.         complete: function(xhr,status){
  22.             alert(status);
  23.         },
  24.         error: function(xhr,status,error){
  25.             alert(error);
  26.         },
  27.         success: function(data,status,xhr){
  28.             alert(status);
  29.         },
  30.         dataType:"text");
  31.     alert(content.value);
  32.     $(".all").html("预备,各就位!");
  33. }
  34. </script>
  35. </head>
  36. <body>
  37. <div class="all">
  38. <div class="seach">
  39. <input type="text" value="198" id="content">
  40. <button type="button" onclick="seach()">搜索</button>
  41. </div>
  42. <div class="choose">
  43. </div>
  44. <div class="show">
  45. </div>
  46. </div>
  47. </body>
  48. </html>
复制代码

1

1

2

2

3

3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-25 14:10:36 | 显示全部楼层    本楼为最佳答案   
水瓶座 发表于 2019-1-25 12:00
不会吧!见图1

虽然这个post的地址是我随便找的

ajax() 方法用于执行 AJAX(异步 HTTP)请求。

所有的 jQuery AJAX 方法都使用 ajax() 方法,该方法通常用于其他方法不能完成的请求。

语法:
  1. $.ajax({name:value, name:value, ... })
复制代码


鱼油(报错哈,缺少"{}"):
  1. $.ajax(
  2.                 type: "post",
  3.                 url: "http://app.91fuyun.com:8787/service/rest",
  4.                 data:{
  5.                 "apiVersion":"v1",
  6.                     "params[cartoon_id]":content.value,
  7.                     "app_version":"3",
  8.                     "api":"cartoon.getcartoon"
  9.             },
  10.             contentType: 'application/x-www-form-urlencoded;charset=utf-8',
  11.                 complete: function(xhr,status){
  12.                 alert(status);
  13.             },
  14.             error: function(xhr,status,error){
  15.                 alert(error);
  16.             },
  17.             success: function(data,status,xhr){
  18.                 alert(status);
  19.             },
  20.             dataType:"text"
  21.         );
复制代码


修改:
  1. <!DOCYTPE HTML>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8" />
  5.     <link rel="icon" href="../favicon.ico" type="image/x-icon"/>
  6.     <title>标题</title>
  7.     <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  8.     <script>
  9.         function seach(){
  10.             var content = document.getElementById("content");
  11.             $.ajax({
  12.                 type: "post",
  13.                 url: "http://app.91fuyun.com:8787/service/rest",
  14.                 data:{
  15.                 "apiVersion":"v1",
  16.                     "params[cartoon_id]":content.value,
  17.                     "app_version":"3",
  18.                     "api":"cartoon.getcartoon"
  19.             },
  20.             contentType: 'application/x-www-form-urlencoded;charset=utf-8',
  21.                 complete: function(xhr,status){
  22.                 alert(status);
  23.             },
  24.             error: function(xhr,status,error){
  25.                 alert(error);
  26.             },
  27.             success: function(data,status,xhr){
  28.                 alert(status);
  29.             },
  30.             dataType:"text"
  31.             });

  32.             alert(content.value);
  33.             $(".all").html("预备,各就位!");
  34.         }
  35.     </script>
  36. </head>
  37. <body>
  38. <div class="all">
  39.     <div class="seach">
  40.         <input type="text" value="198" id="content">
  41.         <button type="button" onclick="seach()">搜索</button>
  42.     </div>
  43.     <div class="choose">
  44.     </div>
  45.     <div class="show">
  46.     </div>
  47. </div>
  48. </body>
  49. </html>
复制代码

Snip20190125_61.png


代码可以跑通了哈,只是请求不到数据(需要你重新设计):
Snip20190125_62.png

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-1-25 17:12:07 | 显示全部楼层
本帖最后由 水瓶座 于 2019-1-25 17:13 编辑
不二如是 发表于 2019-1-25 14:10
ajax() 方法用于执行 AJAX(异步 HTTP)请求。

所有的 jQuery AJAX 方法都使用 ajax() 方法,该方法通 ...


确实是语法错误,谢谢大佬!

  1. {"code":200,"data":{"id":"198","title":"\u6d17\u8111\u65c5\u9986","summary":"ps:\u76f8\u540c\u7ae0\u8282\u4e0d\u4f1a\u91cd\u590d\u6d88\u8017\u94bb\u77f3","update_desc":"\u5b8c\u7ed3","author":"\u7f51\u53cb\u4e0a\u4f20","pic_url":"http:\/\/pm.cnsunp.com\/lifanacgup\/lifanacg\/20170623\/1\/0.jpg","cartooncol":null,"score":"0","collect":"0","status":"1","class_id":"5","create_time":"2018-07-17 ","modified_time":"2018-07-17 ","update_time":"2018-07-17 ","weight":"0","detail":[{"no":1,"title":"\u7b2c\u4e00\u7ae0","cost":0},{"no":2,"title":"\u7b2c\u4e8c\u7ae0","cost":0},{"no":3,"title":"\u7b2c\u4e09\u7ae0","cost":0}],"is_hot":"0","hot_pic":"","tags":"\u5168\u5f69,\u6f2b\u753b","fav_count":"8340","pay":"0","cost_start":"-1","cost_amount":null,"sale_start_time":null,"sale_end_time":null,"sale_cost_amount":null,"sell_total_amount":null,"sell_total_user_count":null,"newest_chapter_no":"0","spider_name":null,"rank_recom":"0","rank_collect":"0","rank_fin":"0","rank_new":"0","rank_o1":"0","is_fin":"0","sound_read":1},"message":"OK","list_size":20}
复制代码


服务器返回了,都是这样的也不知道算什么类型。
我百度过,说json的话要在每个"号前加上\转义。
可服务器是别人的... 所以不能让世界适应我们,只能我们去适应世界。
改成dataType:"text"也是如此

扯多了,一句话。没法子了,就问问大佬有没有什么办法?
360截图20190125170003198.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-25 17:35:59 | 显示全部楼层
本帖最后由 不二如是 于 2019-1-25 17:38 编辑
水瓶座 发表于 2019-1-25 17:12
确实是语法错误,谢谢大佬!



简单数据,直接“循环遍历”获取,复杂操作只能用正则去筛数据了哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 18:06:31 | 显示全部楼层
不二如是 发表于 2019-1-25 17:35
简单数据,直接“循环遍历”获取,复杂操作只能用正则去筛数据了哈

不,我的意思是收不到数据,或者说一直不进success里,要怎么写才能让它进success而不是error
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 23:44:42 | 显示全部楼层
不二如是 发表于 2019-1-25 17:35
简单数据,直接“循环遍历”获取,复杂操作只能用正则去筛数据了哈

好了,搜到了,因为同源策略,所以不用弄了,谢谢大佬!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-8 05:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表