2017-03-23 5 views
3

に出力JSONにAzureの機能を強制することができます。私はそれを訪問するために郵便配達員のようなツールを使用するとは、どのように私はこのソースと紺碧の機能を設定しているブラウザ

module.exports = function(context, req) { 
    //this is the entire source, seriously 
    context.done(null, {favoriteNumber : 3}); 
}; 

は、私はまったく同じ、素敵なJSON出力を得ます私がしたい:

{ 
    "favoriteNumber": 3 
} 

私は私が見るブラウザ(クロム、Firefoxの、など)でそれを訪問するときに問題がある:

<ArrayOfKeyValueOfstringanyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><KeyValueOfstringanyType><Key>favoriteNumber</Key><Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema" i:type="d3p1:int">3</Value></KeyValueOfstringanyType></ArrayOfKeyValueOfstringanyType> 

enter image description here リクエストヘッダーに関係なく、azureが常にjson出力を与えるようにするにはどうすればよいですか?

答えて

6

応答オブジェクトのContent-Typeを明示的にapplication\jsonに設定しようとしましたか?

module.exports = function(context, req) { 
    res = { 
     body: { favoriteNumber : 3}, 
     headers: { 
      'Content-Type': 'application/json' 
     } 
    }; 

context.done(null, res); 
}; 

デフォルトでは、機能はコンテンツネゴシエーション用に設定されています。関数を呼び出すと、

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 

などのヘッダーが送信されるため、XMLを要求して戻ってきます。

+1

ありがとうございました!それは完璧に動作します、それは構文エラーがあったので、私はそれを修正するために編集しました。どこでこれを見つけましたか、私は20 +分の周りを捜していました。ネットアプリケーションの答えを見つけました – Keatinge

+0

ありがとう! "デフォルトでは、関数はコンテンツネゴシエーション用に設定されています"関数を強制的にJSONを使用するように設定できますか?私はその設定を見つけることができません。 –

関連する問題