0

これは私のコードです:

$(function() {

   $.ajax({
    url:'http://localhost:3000/business_places',
    type:'GET',
    dataType:'jsonp',
    done: function(data){
        alert(1)

    },
    error: function(data) {
        alert(2)
    },
    success: function(data) {
        alert(3);
    }

});


});

何を試してもアラートが発生します(2)が、データのステータスを確認すると成功しています。

リクエストはnodejsサーバーに対するものです。次のような json オブジェクトを応答として送信します。

exports.getBusinessPlaces = function(req, res) {
console.log('Retrieving business places: ');

db.collection(BUSINESS_PLACE_COLLECTION, function(err, collection) {
    collection.find().toArray(function(err, items) {
        // var j = {a:items};
        res.send(items);
    });
});
};

配列であるため、json自体は [] で始まり、[] で終わります。標準のjsonのように見えるように、別のjsonを入れてみました: {a:items} しかし、これも機能しませんでした。

現在、別のローカル Web サーバーから ajax 呼び出しが行われています (ローカルの html ファイルで開始しましたが、これが問題である可能性があるため、Web サーバーに移動しました)。

ノードに allow-cross-origin ヘッダーも追加されました。

私は無知です。

4

1 に答える 1

1

dataType:'jsonp'に変更dataType:'json'

この質問への回答を参照してください

于 2013-09-05T11:11:02.113 に答える