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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

JavaScript

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

jQuery

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

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Q&A

解決済

3回答

2988閲覧

ajaxでのAPI呼び出しの際に発生するinternal server errorの解決方法

ao1101

総合スコア21

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

JavaScript

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

jQuery

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

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

0グッド

2クリップ

投稿2019/02/21 05:41

編集2019/02/22 06:03

前提・実現したいこと

javascriptからAPIを呼び出してDBにデータを書き込もうとしています。

ですが、現在internal server errorが発生してしまっている状況です。
変数の値なども上手く受け渡しは出来ているようなのですが、何が原因か分かりますでしょうか。

デバッグでAPIにブレークポイントを付けてjavascriptから呼び出して処理が進んでいること、変数の値が想定通り受け渡しできている事までは確認しています。

発生している問題・エラーメッセージ

500 (Internal Server Error)

該当のソースコード

js

1function callDBInsert() { 2 $.ajax({ 3 url: uri, 4 type: "POST", 5 accepts: "application/json", 6 contentType: "application/json", 7 data: JSON.stringify(data) 8 }) 9}; 10

C#

1 [HttpPost] 2 public async Task PostWorkTime(Data data) 3 { 4 if(data.Work == p) 5 { 6 var End = DateTime.Now; 7 8 var Status = new PieceStatus() { UserId = userId, Day = data.Start, Start = data.Start, WorkEnd = End }; 9 _context.PieceStatuses.Add(Status); 10 await _context.SaveChangesAsync(); 11 } 12 13 } 14 15 public class Data 16 { 17 [JsonProperty(PropertyName = "work")] 18 public String Work { get; set; } 19 20 [JsonProperty(PropertyName = "start")] 21 public DateTime Start { get; set; } 22 23 } 24

OS:windows
asp.net core
DB:SQL Server Express 13.0.4001.0
DBはローカルDBです。

Visual StudioでIIS Expressを利用し、開発マシン内でテストしています。

---追加情報
API呼び出し直前のconsole.log結果です。

宜しくお願い致します。

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

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

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

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

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

x_x

2019/02/21 05:54

500だけではサーバーで何かエラーがあったということしかわからないので、デバッグするか、ログを出してみてはどうでしょうか?
ao1101

2019/02/21 06:02

ご返信ありがとうございます。 visual studio内でデバッグをしても特にエラーは出ません。 DBではsqlを利用していますが、こちらにも特にエラーログは出ていない状況です。 他に見るべきところがあれば、お手数ですがご教授頂きたいです。 申し訳ございません。
m.ts10806

2019/02/21 06:06

SQLといっても幾つも種類があるので、きちんと種類とバージョンは記載してください。(質問は編集できます)
ao1101

2019/02/21 06:09

失礼致しました。 追記致します。
退会済みユーザー

退会済みユーザー

2019/02/21 06:14

CORE の場合は自分はお手上げなので以下の対応は結構ですが、CORE でなければ・・・ 開発環境(OS, .NET, Visual Studio のバージョン、DB サーバーは何か、Visual Studio で IIS Express を使って全て開発マシン内でテストしているのか等)を書いてください。 ASP.NET Web API のタグが付いていますが間違ないですか? PostWorkTime というのは ASP.NET MVC のアクションメソッドのようにも見えますが(それにしても、ちょっと変ですが)。
ao1101

2019/02/21 06:21

asp.net coreです。。。 MVCのなかでAPIコントローラーを使ってもAPIには当てはまらないのですね。 失礼致しました。
退会済みユーザー

退会済みユーザー

2019/02/22 02:17

> 先程、data: JSON.stringify(data)をdata:dataに変更した所、400 BAD REQUESTになりました。 その情報は 500 サーバーエラー解決のための参考にはなりません。data: JSON.stringify(data) が正解なのに余計なことをして迷走しているという感じです。 (500 は要求を受けてサーバーのコードで処理する段階でエラーになった、400 はそれ以前に不正な要求として要求を受け付けてない・・・ということで悪化してます) ちゃんとデバッグしたのですか? アクションメソッドの中の一行目にブレークポイントを設定して引数に期待通りブラウザから送信されたデータが代入されているか、ステップ実行していって変数を調べ期待通りになっているか、どこかで例外がスローされてないか等々は調べたのでしょうか?
ao1101

2019/02/22 02:28

申し訳ございません。 知識が不足している為、そういった情報すら分からないのです。 デバッグは行いました。 java scriptから呼び出してAPIも実行していっています。 変数の値なども合っていたので、呼び出し自体に問題はなさそうなのですが、 DBに書き込みは出来ていません。
evin101

2019/02/22 02:33

コントローラのコンストラクタにブレークポイントを設定した場合はそこに止まりますか? DIの設定が不足している場合などはコントローラの依存関係を解決できずに500が返される場合があります。
m.ts10806

2019/02/22 02:36

少し基本に立ち返って JavaScript側でajaxに渡す前のdataって内容確認されてます? callDBInsert()の冒頭とかで console.log(data); してみてください。 で、ブラウザのデベロッパーツールのコンソールに何が出力されますか?
退会済みユーザー

退会済みユーザー

2019/02/22 02:38

> DBに書き込みは出来ていません。 とすると、そのあたりに問題がありそうですが、調べた結果はいかがですか? そもそも、「現在internal server errorが発生してしまっている状況」というのは、何を見てどのようになっていたから、そう判断したのですか?
退会済みユーザー

退会済みユーザー

2019/02/22 02:55

あと、前にも書きましたが PostWorkTime というアクションメソッドは ASP.NET CORE の Web API のものだとしても変だと思うのですが、そのあたりは大丈夫なんですか? 以下の記事の Add a Create method セクションにあるコードのようになると思いますが、質問者さんのコードはかなり違うように見えますけど。 Tutorial: Create a web API with ASP.NET Core MVC https://docs.microsoft.com/ja-jp/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.2&tabs=visual-studio
ao1101

2019/02/22 02:58

コンストラクタにブレークポイントを設定した所、そこで止まることを確認しました。 API呼び出しの直前にconsole.logで確認したところ、dataリストに入れた変数達が出力されました。 DBに関してはsqlのエラーログなども見てみたのですが、特にログは出ていませんでした。 他にどこか見るべき所はありますでしょうか。 errorを確認したのはchromeの検証でコンソールを確認した所、表示されたので気付きました。 皆さんお手数おかけしてしまい申し訳ございません。 ご協力大変感謝致します。
ao1101

2019/02/22 03:11

returnの部分の事でしょうか。 当初はDBに書き込みがしたかっただけだったので、戻り値なしで実装できるかと思い、このコードにしていたのですが、現在、その部分が必要なのかも知れないと考え、そこを調整しています。Getなども絶対に作らないといけないということなのでしょうか。。上手く読み取れておらず、そこの部分はコーディングを色々試している所です。
退会済みユーザー

退会済みユーザー

2019/02/22 04:02

誰のコメントに対するレスなのか分かるように書いていただければと思います。以下は多分私に対するものと理解して・・・ > errorを確認したのはchromeの検証でコンソールを確認した所、表示されたので気付きました。 使ったことがないので何が見れるか分かりませんが、応答のコンテンツは見れますか。もし見れたら、その中に情報が含まれているかもしれませんので見てください。見れなければ Fiddler を使ってください。 > returnの部分の事でしょうか。・・・戻り値なしで実装できるかと思い・・・その部分が必要なのかも知れないと考え、 戻り値なしでも実装できると思いますが、とりあえずはチュートリアルに準じて実装してはいかがですか。
ao1101

2019/02/22 04:25

>>SurferOnWwwさん 申し訳ございません。 下記情報で宜しいでしょうか。 ---Header--- POST /api/WorkTime HTTP/1.1 Host: localhost:44326 Connection: keep-alive Content-Length: 90 Pragma: no-cache Cache-Control: no-cache Accept: undefined Origin: https://localhost:44326 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36 Content-Type: application/json Referer: https://localhost:44326/AfterLogin/Entry Accept-Encoding: gzip, deflate, br Accept-Language: ja,en-US;q=0.9,en;q=0.8 Cookie: .AspNet.Consent=yes; .AspNetCore.Antiforgery.oydlowO9MZA=CfDJ8BJkm5hcIeBErhvJFkR7jLxTrTFizVp40j6onBChEdBS52y3VYmewR7nxC6F9NtP6K9YajDZfAndANjoQpmUDfAiOegj7Y7IQ-6BODKp3tmLG57lciBqkwcQQhkutpC7H8UVHe6kmFe-oMS2qyGdkCw; .AspNetCore.MyCookieAuthenticationScheme=CfDJ8BJkm5hcIeBErhvJFkR7jLzhNhwCfxKM-mqkwm3L79MRDzsparrzWsevnqG-grt6IVhKZTPz35qNjw6ID7ED182gA7FfGswV5K7a-5a68idtBrI4XMVn7NZF1xn_DLMtB9xjVDm036ii3mtN7Vzpzdiik7GUaEmE6OGcIjXF4PEdMpj5G2xOtvYxJI6COafzV-kPCEaIAoPZZwfbJOLu0geYjO-tv7MLhVQpHWu_-Z4sH-PdhaDW8Y-ISP2rQ1yVgIJln8eSVJM30mWYQLhJqGULiDRoaGQyfnddwDAA3bg8A1dThHBpsC04x8RYpKaAGW4WOgqYZ9vGdwx34Znc6UUHUGY7dq6UiadfO2TS5rzJ; >戻り値なしでも実装できると思いますが、とりあえずはチュートリアルに準じて実装してはいかがですか 承知致しました。やってみます。
m.ts10806

2019/02/22 04:40

> API呼び出しの直前にconsole.logで確認したところ、dataリストに入れた変数達が出力されました。 そこにきちんとdata.WorkであったりC#側で取り出そうとしたデータのキー部分が大文字小文字間違いなく入ってたということで良いですね? 実際の中身部分は***とかで潰してもらって良いので、質問本文に追記いただけますか? (console.log()を私の想定通りの場所に書いてもらったか気にはなるのでChromeの開発ツール部分の画面キャプチャでも良いです)
退会済みユーザー

退会済みユーザー

2019/02/22 04:54 編集

> 下記情報で宜しいでしょうか。 それは要求ヘッダーです。私がエラーの情報が含まれているかもしれないと言ったのは、応答のコンテンツです(ヘッダではなくコンテンツ)。
ao1101

2019/02/22 05:18 編集

>>mts10806さん 画面キャプチャを追加しました。 宜しくお願い致します。 >>SurferOnWwwさん 申し訳ございません。 下段のRawという部分でしょうか? HTMLの記述で非常に長いのですが、合っていますでしょうか。
退会済みユーザー

退会済みユーザー

2019/02/22 05:21

Chrome のディベロッパーツールでのキャプチャで何を見ることができるのかは使ったことがない自分には分かりません。Fiddler の例を回答欄に貼っておきます。どういう例外がスローされたかとスタックトレースが取れると思います。(CORE は特別でそう言うものは取れないということがなければ)
退会済みユーザー

退会済みユーザー

2019/02/25 02:45

> 質問者が2時間前に「まだ回答を求めています」と言っています。 どういうことですか? 下の回答欄に書いたように、原因は「PieceStatuses が無効で SqlException がスローされた」ということではっきりしています。 回答のコメント欄でも言いましたが、今の質問内容では PieceStatuses の何が無効なのかは第三者には情報不足で分かりません。 そこは質問者さんの方で調べていただくほかありませんと書きましたが、どこまで調べたのですか?
ao1101

2019/02/25 03:59

色々と見ていましたが、原因が分からない為、 原因の可能性の例をあげてくださる方もいるかと思い、募集をしていました。
guest

回答3

0

自己解決

皆様お手数をお掛けしてしまい、申し訳ございませんでした。
原因が全く分からなかったのですが、原因はコーディングの部分ではなくサーバーの方にありました。

テーブルを単数形の名称で書いていたのですが、複数形で書いた所、無事データが挿入されました。
EntityFrameworkの作り方の確認が出来ていませんでした。

お騒がせしてしまい、申し訳ございませんでした。
ご協力頂き、ありがとうございました。

投稿2019/02/25 04:05

ao1101

総合スコア21

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

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

退会済みユーザー

退会済みユーザー

2019/02/25 05:59

> 原因はコーディングの部分ではなくサーバーの方にありました。 違うのでは? DB First で作ったのか Code First で作ったのか不明ですが、どっちにせよモデルのコードがあって、それに合わない形でコーディングしていたのでは? 要するにコーディングのミスだと思うのですが・・・
ao1101

2019/02/25 06:04

DBは手動で作成していた為、テーブル名を自分で付けていました。(コードファストでの反映の仕方がよく分からなかった為。) contextとEntityのコーディングは合っていました。
退会済みユーザー

退会済みユーザー

2019/02/25 06:43

既存の DB をベースにして自力でモデルをコーディングしたのですか? CORE には .NET Framework の ADO.NET Entity Data Model 相当のウィザードはないようですが、以下の記事の Reverse engineer your model セクションによると、それに代わる手段があるそうです。それは試しましたか? Getting Started with EF Core on ASP.NET Core with an Existing Database https://docs.microsoft.com/ja-jp/ef/core/get-started/aspnetcore/existing-db
ao1101

2019/02/25 07:12

サーバーエクスプローラーから簡単に出来るのでそれでやっていました。 僕の今の知識では上記ページで何が出来るようになるのかが今一分かりませんでした。。。
退会済みユーザー

退会済みユーザー

2019/02/25 07:41

サーバーエクスプローラを操作して出来ることは DB そのものの作成・変更では? 上に紹介した記事は違います。よく読んでみてください。
ao1101

2019/02/25 08:26

分かりました。 ありがとうございます。
guest

0

こんにちは。
回答に書くか質問に書くか悩みましたが、

まず、PostWorkTimeメソッドがちゃんと呼び出されているかどうかは確認していますか?ifの行にブレークポイントを仕掛ければ止まります。
もし実行されているなら、SaveChangesAsyncが怪しいです。全体をtry/catchで囲むなどして例外の詳細を確認してください。
実行されていないなら、ASP.NET Core HostのDI Setup等でコケている可能性があります。起動時にいろいろ出力されているVSのコンソールを最初から最後まで確認してみてください。

投稿2019/02/22 05:31

tamoto

総合スコア4103

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

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

ao1101

2019/02/22 06:05

ご回答ありがとうございます。 メソッドが呼び出されていることは確認出来ております。 try/catchで確認してみます。
guest

0

上の質問に対する 2019/02/22 14:21 の私のコメントで「Fiddler の例を回答欄に貼っておきます」と書きましたが、それを以下に貼っておきます。回答ではありませんが、回答欄でないと画像が貼れませんのでご容赦ください。

.NET Framework の ASP.NET Web API のアクションメソッドで例外をスローした結果です。どういう例外がスローされたかとスタックトレースが取得できています。CORE は特別でそう言うものは取れないということがなければ同様な情報が取得できるのではないかと思います。

イメージ説明

【追記】

質問者さんが自分の環境で取得した応答のコンテンツ(上の画像で言うと赤枠部分)をブラウザで見た場合(Fiddler で TextView となっているのを WebView に切り替えた場合と同じ)の重要な部分の画像を以下に貼っておきます。

イメージ説明

質問者さんが下のコメント欄に書いた生の html コードは長すぎるので、省略できるところは削除していただくようお願いします。

#.NET Framework の ASP.NET Web API の場合とは大違いですね。Microsoft は CORE に力を入れているんでしょうか・・・

投稿2019/02/22 05:27

編集2019/02/24 03:03
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ao1101

2019/02/25 01:46 編集

ありがとうございます。 以下になります。 宜しくお願い致します。 <li> <br/> <div class="rawExceptionBlock"> <div class="showRawExceptionContainer"> <button class="showRawException" data-exceptionDetailId="exceptionDetail1">Show raw exception details</button> </div> <div id="exceptionDetail1" class="rawExceptionDetails"> <pre class="rawExceptionStackTrace">System.Data.SqlClient.SqlException (0x80131904): Invalid object name &#x27;PieceStatuses&#x27;.&#xD;&#xA; at System.Data.SqlClient.SqlCommand.&lt;&gt;c.&lt;ExecuteDbDataReaderAsync&gt;b__122_0(Task`1 result)&#xD;&#xA; at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()&#xD;&#xA; at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)&#xD;&#xA;--- End of stack trace from previous location where exception was thrown ---&#xD;&#xA; at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot)&#xD;&#xA;--- End of stack trace from previous location where exception was thrown ---&#xD;&#xA; at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)&#xD;&#xA; at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)&#xD;&#xA;ClientConnectionId:c91460d5-b0de-4c4f-a093-bc0615d31951&#xD;&#xA;Error Number:208,State:1,Class:16</pre> </div> </div> </li> <h2 class="stackerror">DbUpdateException: An error occurred while updating the entries. See the inner exception for details.</h2> <ul> <li class="frame" id="frame7"> <h3>Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)</h3> </li> <li class="frame" id="frame8"> <h3>Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple&lt;IEnumerable&lt;ModificationCommandBatch&gt;, IRelationalConnection&gt; parameters, CancellationToken cancellationToken)</h3> </li> <li class="frame" id="frame9"> <h3>Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync&lt;TState, TResult&gt;(TState state, Func&lt;DbContext, TState, CancellationToken, Task&lt;TResult&gt;&gt; operation, Func&lt;DbContext, TState, CancellationToken, Task&lt;ExecutionResult&lt;TResult&gt;&gt;&gt; verifySucceeded, CancellationToken cancellationToken)</h3> </li> <li class="frame" id="frame10"> <h3>Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList&lt;InternalEntityEntry&gt; entriesToSave, CancellationToken cancellationToken)</h3> </li> <li class="frame" id="frame11"> <h3>Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken)</h3> </li> <li class="frame" id="frame12"> <h3>Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken)</h3> </li> <li class="frame" id="frame13"> <h3>Controllers.WorkTimeController.PostWorkTime(Data data) in <code title="C:\Users\Controllers\WorkTimeController.cs">WorkTimeController.cs</code></h3> <button class="expandCollapseButton" data-frameId="frame13">+</button> <div class="source"> <ol start="41" class="collapsible"> <li><span> {</span></li> <li><span> var End = DateTime.Now;</span></li> <li><span> //var TIme = End - data.Start;</span></li> <li><span></span></li> <li><span> var Status = new PieceStatus() { UserId = userId, Day = data.Start, Start = data.Start, WorkEnd = End };</span></li> <li><span> _context.PieceStatuses.Add(Status);</span></li> </ol> <ol start="47" class="highlight"> <li><span> await _context.SaveChangesAsync();</span></li> </ol> <ol start='48' class="collapsible"> <li><span></span></li> <li><span> /*return CreatedAtAction(nameof(GetWorkTime), new { id = Status.Id }, Status);*/</span></li> <li><span></span></li> <li><span> }</span></li> <li><span></span></li> <li><span> }</span></li> </ol> </div> </li>
ao1101

2019/02/25 01:43 編集

削除しました。
ao1101

2019/02/25 01:44 編集

削除しました。
ao1101

2019/02/25 01:44 編集

削除しました。
ao1101

2019/02/25 01:44 編集

削除しました。
ao1101

2019/02/22 06:00

見逃しがあるといけない為、申し訳ございませんが、念の為全て貼り付けました。 お手数おかけ致しますが、宜しくお願い致します。
退会済みユーザー

退会済みユーザー

2019/02/22 06:13

それは何でどのようにして取得したのですか? 要求に対する応答のコンテンツ、即ち上の回答の画像の赤枠の部分ですか? であれば、SqlException: Invalid object name &#x27;PieceStatuses&#x27;. に着目してください。 PieceStatuses が無効で SqlException がスローされたと言ってます。ただし、今の質問内容では PieceStatuses の何が無効なのかは分かりません。そこは質問者さんの方で調べていただくほかなさそうです。
ao1101

2019/02/22 06:19

画像の赤枠の部分、fiddlerのtextviewを取得しました。 分かりました。ありがとうございます。
退会済みユーザー

退会済みユーザー

2019/02/22 06:25

> 画像の赤枠の部分、fiddlerのtextviewを取得しました。 であれば、上の画像でタブが TextView となっているのを WebView に切り替えるとブラウザに表示したときのように見えるはずです。より見やすく理解しやすくなるはずです。
ao1101

2019/02/22 06:31

とても見やすくなりました。 非常に助かります。 ありがとうございます。
退会済みユーザー

退会済みユーザー

2019/02/24 03:00 編集

ブラウザで応答を見た場合(Fiddler で TextView となっているのを WebView に切り替えた場合と同じ)の重要な部分の画像を質問欄に貼っておきます。質問者さんが上のコメント欄に書いた生の html コードは長すぎるので、不要な部分は削除していただくようお願いします。
ao1101

2019/02/25 00:13

承知致しました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問