###前提・実現したいこと
超初心者で、わからない事だらけです。(_ _)
jQueryの非同期通信を使って別ドメインにおいてあるapiに
HTMLファイルからPOSTでjsonデータを送りたいです。
###発生している問題・エラーメッセージ
エラーメッセージ {"readyState":0,"status":0,"statusText":"error"} ###該当のソースコード ```jQuery ここにご自身が実行したソースコードを書いてください
```ここに言語を入力 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $("#response").html("Response Values"); $("#button").click( function(){ var param1 = $("#value1").val(); var param2 = $("#value2").prop('checked'), var param3 = $("#value3").val(); var JSONdata = { value1: param1, value2: param2, value3: param3 }; alert(JSON.stringify(JSONdata)); $.ajax({ type : 'post', url : 'url', data :{id:param1,sousinsitai:JSON.stringify(JSONdata)}, contentType: 'application/JSON', dataType : 'JSON', scriptCharset: 'utf-8', success : function(data) { // Success alert("success"); alert(JSON.stringify(data)); $("#response").html(JSON.stringify(JSONdata)); }, error : function(data) { // Error alert("error"); alert(JSON.stringify(data)); $("#response").html(JSON.stringify(JSONdata)); } }); }) }) </script> <body> <div id="wrapper"> <div> <label>送りたい内容1: </label> <input type="text" id="value1" size="30" value=""> </div> <div> <label class="jizen">ここはチェック済で、データとしては、真偽値のtrueを送りたいです: </label> <input type="checkbox" id="value2" disabled checked> </div> <div> <label>送りたい内容2:</label> <input type="text" id="value3" size="30" value=""> </div> <p><button id="button" type="button">submit</button></p> <textarea id="response" cols="80" rows="5" disabled></textarea> </div> </body>
###試したこと ネットで色々検索して、親切なコードがあったので使わせていただいて 何とか上のコードを作成してみたり、 調べたら postだとjsonpを使えないとか クロスドメイン制約があるなどが分かりましたが、 どうしてもpostで非同期通信で送る方法とかはあるのでしょうか。 そもそも上のコードで、getとjsonpに変更して 上記のコードを実行してもalertで、エラーが帰ってきてしまいます。。。 3日間、色々やってみましたが、エラーです。 知識もスキルも無い初心者ですので、どうか正解コードがあれば教えていただきたいです。 ###補足情報 送信する先に、 dataのところの 送りたいjsonデータは、入力された配列と、重複になりますがIDを別に追加して送りたいので data :{id:param1,sousinsitai:JSON.stringify(JSONdata)}, としております。 url : 'url', の右のurlの部分には、送り先のapiを指定しました。 apiは独自のものです。 自分のHTMLファイルはローカルに置いてあります。
回答2件
あなたの回答
tips
プレビュー