Hallo, ich hab hier ein Problem beim übertragen der Daten an meinen cherrypyserver.
Der Browser gibt mir immer einen 404 Fehler missing parameters _name
Es sollen eigentlich die 3 Eingaben name, email und kommentar übertragen werden, zu testzwecken erstmal nur eine variable zum übertragen.
Die html datei sieht wie folgt aus
Die ajax.js :
und der Python code mit cherrypy:
Hab schon alle möglichen sachen ausprobiert, der 404 missing parameters fehler bleibt.
Vielen Dank im vorraus für die Hilfe
Der Browser gibt mir immer einen 404 Fehler missing parameters _name
Es sollen eigentlich die 3 Eingaben name, email und kommentar übertragen werden, zu testzwecken erstmal nur eine variable zum übertragen.
Die html datei sieht wie folgt aus
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>AJAX with jQuery and cherrypy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../css/dafault.css" />
<script type="text/javascript" src="../jquery/jquery.js"></script>
<script type="text/javascript" src="../js/ajax.js"></script>
</head>
<body>
<form id="input" action="#" method="post">
<p>
<label for="name">Name:</label>
<input type="text" id="name" /> <br />
<label for="email">E-Mail:</label>
<input type="text" id="email" /> <br />
<label for="kommentar">Kommentar</label>
<textarea rows="5" cols="35" type="text" name="kommentar" id="kommentar"> </textarea>
<input type="submit" value="Set" />
</p>
</form>
<div id="output"></div>
</body>
</html>
Die ajax.js :
Code:
$(document).ready(function() {
// When the testform is submitted...
$("#input").submit(function() {
$("#input").append('<img src="../images/load.gif" alt="Loading" />');
$.ajax({
url: '/submit/',
type: "POST",
dataType: 'json',
data: "_name="+encodeURI($('#name').val()),
contentType: "application/json; charset=utf-8",
success: function (result) {
alert('Daten erfolgreich übertragen');
},
error: function (request, status, error) {
alert('Fehler beim Laden der Daten');
}
});
return false ;
});
});
und der Python code mit cherrypy:
Code:
# coding=utf-8
import cherrypy
import webbrowser
import os
import json
import sys
class AjaxApp(object):
@cherrypy.expose
def submit(self, _name):
cherrypy.response.headers['Content-Type'] = 'application/json'
return json.dumps(dict(title="Hello, %s" % name))
def open_page():
webbrowser.open("http://127.0.0.1:8080/")
def main():
try: # aktuelles Verzeichnis als absoluter Pfad
currentDir_s = os.path.dirname(os.path.abspath(__file__))
except:
currentDir_s = os.path.dirname(os.path.abspath(sys.executable))
cherrypy.Application.currentDir_s = currentDir_s
configFileName_s = 'server.conf' # im aktuellen Verzeichnis
# autoreload und timeout_Monitor hier abschalten
# für cherrypy-Versionen >= "3.1.0" !
cherrypy.engine.autoreload.unsubscribe()
cherrypy.engine.timeout_monitor.unsubscribe()
# starte server
cherrypy.engine.subscribe('start', open_page)
cherrypy.tree.mount(AjaxApp(), '/', config=configFileName_s)
cherrypy.engine.start()
if __name__ == '__main__':
# ----------------------------------------------------------
main()
Hab schon alle möglichen sachen ausprobiert, der 404 missing parameters fehler bleibt.
Vielen Dank im vorraus für die Hilfe