Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajaxget方法不起作用_Javascript_Jquery_Ajax_Api_Get - Fatal编程技术网

Javascript ajaxget方法不起作用

Javascript ajaxget方法不起作用,javascript,jquery,ajax,api,get,Javascript,Jquery,Ajax,Api,Get,我有个问题,我从API获取json数据 $.ajax({ url: request, type: "get", contentType: "application/json; charset=utf-8", dataType: "jsonp", success: function (data) { if (data.ResultCode==="200") { console.log(data.Result[0])

我有个问题,我从API获取json数据

  $.ajax({
    url: request,
    type: "get",
    contentType: "application/json; charset=utf-8",
    dataType: "jsonp",
    success: function (data) {
        if (data.ResultCode==="200") {
            console.log(data.Result[0]);
        }
        else if (data.ResultCode !== "200") {
            myApp.alert(data.ResultDesc, "");
        }

    },
    error: function () {
        console.log("your call failed");
        myApp.alert("Sunucuya erişilemiyor.","");
    }
});
这是我写的代码,我有一个错误

未捕获的语法错误:意外标记:

url是正确的,我看不出问题。

数据类型更改为:dataType:“json”

根据你最后的评论:

我确实是这样写的,但我得到了对飞行前请求的错误响应,该请求未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此不允许访问源代码“null”。因此我改为jsonp

当源端未启用CORS以跨不同域共享数据时,会发生此错误。如果您可以访问源,然后启用CORS,那么您将获得数据

否则,另一个选项是在您的服务器上创建一个代理,并调用该代理从其他服务器获取数据。例如,在php中,您可以执行以下操作:

//fetch.php
<?php
   header('Content-Type: application/json');
   $homepage = file_get_contents('http://www.example.com/');
   echo json_encode($homepage);
?>
//fetch.php
现在可以调用此文件来提供数据:

var request = 'fetch.php';
$.ajax({
    url: request,
    type: "get",
    //contentType: "application/json; charset=utf-8", // not needed in this case
    dataType: "json", // <----this has to be json
    success: function (data) {
        if (data.ResultCode==="200") {
            console.log(data.Result[0]);
        }
        else if (data.ResultCode !== "200") {
            myApp.alert(data.ResultDesc, "");
        }
    },
    error: function () {
        console.log("your call failed");
        myApp.alert("Sunucuya erişilemiyor.","");
    }
});
var请求='fetch.php';
$.ajax({
url:请求,
键入:“获取”,
//contentType:“application/json;charset=utf-8”,//在本例中不需要

数据类型:“json”,//这是完整的错误消息吗?似乎是语法错误似乎您的资源不支持jsonp请求…请使用网络选项卡查看响应内容可能他正在执行一个
jsonp
请求,这不是错误的原因首先我这样写了,但我得到了对飞行前请求的错误响应未通过访问控制rol检查:请求的资源上不存在“Access Control Allow Origin”标题。因此不允许访问Origin“null”。因此,我更改为JSONPTH,这是CORS的错误。CORS已在源位置启用,否则您需要在服务器上设置代理来获取数据。@ElzoValugi
jsonp
使用一些不同类型的o如果数据看起来像是
回调({….data….})
,那么在回答中它确实表明OP试图直接访问json数据。因此,
jsonp
没有意义。