0

クロスドメインリクエストを実行しています。最初のリクエストが行われたら、IDを取得して(そして他のことを実行して)、次のリクエストにIDを使用する必要があります。

これまでのところ、ハングアップは次のリクエストが連結を好まないということです。これが私のコードです。そうです、document.writeをconsole.log()に変更する必要があることはわかっていますが、console.logが機能せず、現在の問題について助けを得た後、おそらくその質問をするつもりでした。問題は2番目の.ajax()リクエストから始まります。

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script >
$(document).ready(function($) {
 // First link out of three
 var url = 'https://www.sciencebase.gov/catalo
/items?parentId=504108e5e4b07a90c5ec62d4&max=60&offset=0&format=jsonp';

$.ajax({
    type: 'GET',
    url: url,
    jsonpCallback: 'getSBJSON',
    contentType: "application/json",
    dataType: 'jsonp',
    success: function(json) {
    for (var i = 36; i < 37; i++) {
        document.write(json.items[i].id);
            var urlId = json.items[i].id;
    }

        var deferUrl = 'https://www.sciencebase.gov/catalog/itemLink/" + urlId 
+"?format=json&max=10';

            $.ajax({
                type: 'GET',
                url: deferUrl,
                jsonpCallback: 'getSBJSON',
                contentType: "application/json",
                dataType: 'jsonp',
                success: function(json) {
                    // Get the next id to use for the next url

                    document.write(deferUrl);

                    $.ajax({
                        type: 'GET',
                        url: 'https://www.sciencebase.gov/catalog
/item/4f4e4b19e4b07f02db6a7f04?format=jsonp',
                        jsonpCallback: 'getSBJSON',
                        contentType: "application/json",
                        dataType: 'jsonp',
                        success: function(json) {
                        document.write(json.title); 
                        },
                        error: function(e) {
                            console.log(e.message);
                        }
                    });
                },
                error: function(e) {
                    console.log(e.message);
                }
            });
    },
    error: function(e) {
        console.log(e.message);
    }
});
});
</script>
</head>
<body>
</body>
</html>

助けてくれてありがとう

4

3 に答える 3

2
'https://www.sciencebase.gov/catalog/itemLink/" + urlId 
+"?format=json&max=10';

する必要があります

'https://www.sciencebase.gov/catalog/itemLink/' + urlId 
+'?format=json&max=10';

単純引用符と二重引用符を混在させます。使用する'srting' + var + 'string'"string" + var + "string"、混合しないでください

于 2012-11-26T19:14:58.913 に答える
0

連結の問題のみに対処するために..そこには一重引用符と二重引用符が混在しています。それらはすべて一貫している必要があります。

元:

var deferUrl = 'https://www.sciencebase.gov/catalog/itemLink/' + urlId + '?format=json&max=10';
于 2012-11-26T19:15:58.813 に答える
-1

から少し変えました

for (var i = 36; i < 37; i++) {
            var urlId = json.items[i].id;
    }

 var deferUrl = 'https://www.sciencebase.gov/catalog/itemLink/' + 
 urlId + '?format=jsonp&max=10';

$.ajax({
                type: 'GET',
                url: deferUrl,
                jsonpCallback: 'getSBJSON',
                contentType: 'application/json',
                dataType: 'jsonp',

for (var i = 36; i < 37; i++) {
           var urlId = json.items[i].id;
    }

var deferUrl = urlId;

$.ajax({
                type: 'GET',
                url: 'https://www.sciencebase.gov/catalog/itemLink/' + 
                deferUrl + '?format=jsonp&max=10',
                jsonpCallback: 'getSBJSON',
                contentType: 'application/json',
                dataType: 'jsonp',

そして、それはうまくいったようです。URLに割り当てる前に連結を完全に行うのは好きではありませんでした。

于 2012-11-26T22:38:43.337 に答える