質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

2回答

5602閲覧

ajaxの通信でエラー?

Darkmaterand

総合スコア10

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2017/02/10 12:24

編集2017/02/10 12:53

こんにちは。
node.jsを最近学習し始めと者です。
今、jQueryのajaxを使ってpost通信をして、node.jsにつなげるということをしているのですが、コンソール上では

console

1body: "musa"

と正しく表示されるようになったのですが、成功時の処理ではなくてエラー処理になってしまい
xhr.statusの値が0と表示されます。
普通は接続が成功して、200になると思うのですが、なぜなのか全然わかりません。

分かる方いらしたらご教授願います。

###ソースコード

javascript

1$('#login').click(function(){ 2 alert(''); 3 $.ajax({ 4 async: false, 5 url: 'http://localhost:8124', 6 type: 'post', 7 data:{"name": "musa"}, 8 dataType: 'json' 9}).done(function(res){ 10 alert(res.name); 11}).fail(function(xhr, status, error){ 12 alert(status); //erorr 13});

javascript

1var express = require('express'); 2var bodyParser = require('body-parser'); 3var app = express(); 4 5app.use(bodyParser.urlencoded({extended: false})); 6app.use(bodyParser.json()); 7app.post('/',function(req, res){ 8 var obj = {}; 9 console.log('body: ' + JSON.stringify(req.body.name)); 10 var rejson = JSON.stringify(req.body); 11 res.send({"name":"musa"); 12}); 13 14app.listen(8124);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Darkmaterand

2017/02/11 02:15

今やってみましたが、まさにその通りだったようで、無事に動きました。 CORSというのを初めて聞いたので、まだまだ勉強不足だったようです。 助けていただきありがとうございます。
motuo

2017/02/11 02:23

解決してよかったです!
guest

0

.fail(function(xhr, status, error){

alert(xhr.status);

});

errorの戻り値を見るのはalert(status)ではないですか?
parseerrorが返ってきてませんか?

dataType:'json'で受け取とろうとしているので
戻してくるデータが$.ajaxの決まったフォーマットで戻る必要があります

body: "musa"

で戻ってきてるならNGで

{"body":"musa"}

というフォーマットで戻してもらってください

投稿2017/02/10 12:33

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Darkmaterand

2017/02/10 12:50

回答ありがとうございます。 res.send({name:musa})にしたりしているのですが上手く出来ません。 あとalert(status)の結果はerrorでした。
yambejp

2017/02/10 12:58

>alert(status)の結果はerror parseerrorではなくerrorですか・・・ とりあえずdataTypeを'text'にして戻り値を確認してみてください
yambejp

2017/02/10 12:59

それとnode.jsが戻してくるのはあくまで文字列ですよね? '{"name":"musa"}'を返すことになるのかな・・・
Darkmaterand

2017/02/10 13:05

dataTypeを'text'に変えたのですが、変わらずコンソール上には正しく表示されて、statusはerrorのままです。
yambejp

2017/02/10 13:11

ごめんなさい、勝手にクライアントのブラウザからサーバー(localhost)に ajaxでデータを取りにいっていると思ってましたが、違いました? 開発ツールなど通信の応答ヘッダやPOST内容を確認できるものもあるので その手のツールで確認するのが賢明かもしれません
Darkmaterand

2017/02/10 13:38

ブラウザからlocalhostにアクセスしています。 開発ツールを使った方がいいと自分も思ったので使ってみます。 サーバー周りのことは素人なので、わからないことがあったらサイトで質問します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問