为什么Ajax获取请求失败

发布于 2025-01-07 05:28:02 字数 959 浏览 0 评论 0原文

我的请求的响应是一个java脚本代码。当我将 url 输入浏览器时,我可以在页面上看到整个生成的 java 脚本代码。传递给 $.ajax 的 url 格式如下:

http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345

当我输入上面的 URL 时,我可以看到请求成功。现在,我使用 jQuery 对这个 url 使用下面的 Ajax 请求。

   var finalUrl = "http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345";
   var req = $.ajax({
             type:"GET",
             url:finalUrl,
             type:"script",
             data:"",
             success: function(html){
                alert('Requese sucessful.');
              },
            complete:function(jqXHR, textStatus) {
                alert("request complete "+textStatus);
             },
            error: function(xhr, textStatus, errorThrown){
                alert('request failed->'+textStatus);
            }             
           });  

问题1:这会发出警报“请求失败错误”。为什么会这样?

问题2:在上述过程中有没有办法返回成功/失败代码?

The response of my request is a java script code. When I put the url in browser, I can see the whole generated java script code on the page. Format of url passed to $.ajax is as below:

http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345

When I put the above URL I can see the request is successful. Now, I am using below Ajax request for this url using jQuery.

   var finalUrl = "http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345";
   var req = $.ajax({
             type:"GET",
             url:finalUrl,
             type:"script",
             data:"",
             success: function(html){
                alert('Requese sucessful.');
              },
            complete:function(jqXHR, textStatus) {
                alert("request complete "+textStatus);
             },
            error: function(xhr, textStatus, errorThrown){
                alert('request failed->'+textStatus);
            }             
           });  

Question 1:This gives the alert "request failed error'. Why this is so ?

Question 2:Is there any way to return success/failure code in above process?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

猫弦 2025-01-14 05:28:03

输入:

$.ajax({
     type:"GET",
     url:finalUrl,
     type:"script",
     (...)

您的对象中有两次“type”键。所以我认为只采用了第二个(“脚本”)。显然“script”不是有效的 HTTP 方法(如 HEAD、GET、PUT、POST 等)。您正在寻找的“脚本”关键字可能是 dataType ,它可能是 xmljsonjsonp 之一>、文本脚本html

不要忘记查看 jsonp,它通常是返回脚本内容并调用它的好方法。

In:

$.ajax({
     type:"GET",
     url:finalUrl,
     type:"script",
     (...)

You have two times the 'type' key in your object. So I think only the second one is taken ('script'). Obviously 'script' is not a valid HTTP method (as HEAD,GET,PUT,POST, etc). The keyword your were looking at for 'script' is maybe dataType which may be one of xml, json, jsonp, text, script, or html.

Do not forget to look at jsonp, it's usually a nice way to return a script content and to call it.

只涨不跌 2025-01-14 05:28:03

我不知道为什么,但我可以给你一些如何调试或找出问题的提示:

1)安装 fiddler 到查看 HTTP 请求。

2)type:“script”,为什么类型是script?尝试使用“text/html”。

3)使用complete(jqXHR, textStatus)你可以查看HTTP状态。 有关 $.ajax 的更多信息

I am not sure why, but I can give your some tips how to debug or find out issues:

1) install fiddler to look at HTTP request.

2) type:"script", why the type is script? try to use "text/html".

3) use complete(jqXHR, textStatus) you can look at HTTP status. more info about $.ajax

海风掠过北极光 2025-01-14 05:28:03
var finalUrl=http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345;

是相当无效的 JavaScript。您可能意味着将 url 作为字符串传递:

var finalUrl = 'http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345';
var finalUrl=http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345;

is pretty invalid javascript. You probably meant passing the url as a string:

var finalUrl = 'http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345';
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文