2017-09-05 7 views
1

私はNode.jsを使い慣れていますが、サーバーサイドにあることを理解しています。 app.jsファイルをターミナルで実行すると、テキストメッセージが送信されますが、最終的にはユーザーがフォームを終了させ、ボタンを押すとテキストメッセージを送信して送信を確認します。私はこれを達成するためにTwilioサービスを使用しています。現在、ボタンを押すとメッセージが送信されません。AJAXを使用してNode.jsファイルを呼び出してSMSメッセージを送信する

var accountSid = process.env.TWILIO_ACCOUNT_SID; 
var authToken = process.env.TWILIO_AUTH_TOKEN; 
var client = require('twilio')(accountSid, authToken); 

app.get('/testtwilio', function(req, res) { 
    client.messages.create({ 
    to: "+1receivingNumber", 
    from: "+myTwilioNumber", 
    body: "Testing, testing, testing" 
    }, function(err, message) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log(message.sid); 
    } 
    }); 
}) 

そして、私のJavascriptファイル:

$('#buttons').on('click', function(e) { 
    $.ajax({ 
    type: 'POST', 
    url: '/testtwilio', 
    data: { 
     "To": userCellPhone, 
     "From": "+1myTwilioNumber", 
     "Body": "Ahoy! Testing" 
    }, 
    beforeSend: function(xhr) { 
     ... 
    }, 
    success: function(data) { 
     console.log(data); 
    }, 
    error: function(data) { 
     console.log(data); 
    } 
    }); 
}); 

そして最後に、私のHTMLボタン:ここ

は私のapp.jsファイルです

正直
<button type="submit" id="buttons" class="buttons">SUBMIT</button> 

、私はないんだけどこれは可能ですが、私は永遠に検索しており、実際に直接的な解決策を見つけることはできません。どんな助けもありがとう!

+2

'app.get'と'タイプ:「POST''がうまくいけば、これはあなたが間違って行ってきたところにヒントを与える必要があります。そうでない場合、あなたは[the documentation](http://expressjs.com/tr/api.html#app.post.method)を読むことができます – George

+0

私はそれをタイプするために変更すべきだと思っています: 'GET'? – mur7ay

+1

他の方法で 'app.get'を' app.post'に変更してください。あなたはクライアントからPOST要求をしたい、それは今働いていない理由は、クライアントからPOST要求をしているが、GETを期待するように設定しているということです。 – George

答えて

5

app変数は未定義です。あなたが続いてきたチュートリアルのようexpressフレームワークを使用したい場合、あなたはあなたのapp.jsが好きで、それを登録する必要がありますすることは、次のとおりです。答えと合わせて

var express = require('express'); 
var app = express(); 

/POSTについてのコメントは、それはあなたが表示されます通り道に。

Nb。 Expressモジュールをノードモジュールにインストールする必要があります。あなたのルートディレクトリにコマンドラインから:

npm install --save express

3

nodeJsルートはGETを予定しています。しかし、あなたのajaxはPOSTリクエストを出します。試してください:

app.post('/testtwilio', ... 
+0

提案したようにapp.postに変更を加えましたが、なんらかの理由でまだ送信していません。 – mur7ay

関連する問題