私はAngularJSからPythonにPOSTリクエストをしています。 JavaScriptの例から始めました。すべての値が正しく返されます。 しかし、私がAngularJSからそれをやろうとすると、投稿された変数の値を読み取ることができません。 (バック名の私は値(マイクを取得することができるよ))正常に動作し
JAVASCRIP例:
<script language="Javascript">
function asyncChange()
{
var request;
if (window.XMLHttpRequest) {
request = new window.XMLHttpRequest();
} else {
// Versiones antiguas de Internet Explorer.
request = new window.ActiveXObject("Microsoft.XMLHTTP");
}
request.open("POST","nctest.py" , true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send("Name=Mike");
request.onreadystatechange = function()
{
if (request.readyState == 4 && request.status == 200)
{
document.getElementById("myLabel").innerHTML = "Hello " + request.responseText + "!";
}
}
}
</script>
nctest.py JSコード
#!/usr/bin/python
import cgi
input = cgi.FieldStorage()
print "Content-type: text/html\n\n"
print "input[Pe].value: "
print input["Pe"].value
ANGULARJSはありませんWORKは、適切に(私は名前の(マイク)バック値を取得することはできませんよ): Angularjsコード:
(function(){
'use strict'
var sectest= {
controller:sectestCtrl,
templateUrl:'app/components/component_test/test.html',
}
angular
.module('myapp')
.component('secTest',sectest);
function sectestCtrl($http){
var prac= this;
prac.method = 'POST';
prac.url = 'nctest.py';
prac.data = {Name : 'Mike'};
prac.data_answer
prac.headers = { 'Content-Type': 'application/x-www-form-urlencoded' };
prac.sendHTML = send;
function send(){
prac.code = null;
prac.response = null;
$http({method: prac.method, headers: prac.headers, url: prac.url, data: $.param(prac.data)}).
then(function(response) {
prac.status = response.status;
prac.data_answer = response.data;
console.log("OK prac.data_answer: ", prac.data_answer)
}, function(response) {
prac.data_answer = response.data || 'Request failed';
prac.status = response.status;
});
};
}
})();
nctest.pyコード
#!/usr/bin/python
import json
import cgi
input = cgi.FieldStorage()
print "Content-type: text/html\n\n"
print input["Name"].value
問題はそのprac.data_answer印刷ブランク値です。 私はすでにangularjsとPythonコードの両方のための異なるヘッダを試すいるが、どれも動いていないようにみえます:
prac.headers = { 'Content-Type': 'application/json' };
prac.headers = { 'Content-Type': 'application/x-www-form-urlencoded' };
prac.headers = { 'Content-Type': 'text/html\n\n' };
感謝を。
ないPythonの開発者が、角度1と$ HTTP({メソッド::prac.method、ヘッダ:prac.headers、URL:prac.url、データ:$の.PARAM(prac.data)これを試してみてください})は、 'nctest.py'というURLに送信します そのnctest.pyはURLエンドポイントですか? –
確かに。 nctest.pyはURLのエンドポイントです。 –