2017-09-21 4 views
0

私はS3Node.jsのresponseTextをどのように処理するのですか?

function myFunction() { 

var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function(){ 
    if(this.readyState == 4 && this.status == 200){ 
     document.getElementById("testing").innerHTML = this.responseText; 
    } 
}; 
xhttp.open("GET","https://id.execute-api.ap-southeast-1.amazonaws.com/prod/lambdafunction", true); 
xhttp.send(); 

} 

でそれを主催している以下のようにJavaScript関数を持っており、このlambdafunctionは私がIDテストとdiv要素が交換されるということであった期待

'use strict'; 

console.log('Loading function'); 

exports.handler = (event, context, callback) => { 

let response = { 
    statusCode: '200', 
    body: JSON.stringify({ error: 'you messed up!' }), 
    headers: { 
     'Content-Type': 'application/json', 
    } 
}; 
context.succeed(response); 
//callback(null, context); // Echo back the first key value 
//callback('Something went wrong'); 
}; 

以下のようNode.jsで書かれていますerror: 'you messed up!によって何も起こらなかったのですか?どの部分が間違っているのか分かりますか?

答えて

1

あなたは(非常に)古いノードv.0.10.42のためのAPIを使用しているように見えます。

あなたが持っている必要がありますので、あなたは、より新しいバージョンを使用してしまう可能性が高いようだ:

callback(null, JSON.stringify({ error: 'you messed up!' })); 
// if you are not using proxy integration 

または

callback(null, response) 
// if you set up the function with proxy integration 

これが解決しない場合は、それが有用であろうURLに直接アクセスしたときや、AWSログに何かが表示されている場合は、何を得るかを知ってください。また、AWSコンソールから直接ラムダ関数を呼び出すことができます。これにより、テストが容易になります。

関連する問題