Hi,
How to read Ajax passed JSON object in .py file? Below are my code snippets from Splunk view, web.conf and .py file.
Looking for code snippet in How to read Ajax passed JSON object here????? section of my .py file
JavaScript:
var dataVal = {'JSONObjKey': JSONObject,'SimpleString': 'String1'};
var JsonData = JSON.stringify(dataVal);
function callScript(){
$.ajax({
type: "POST",
url: "/custom/MyApp/my_script/my_endpoint",
data: JsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
console.log("success returned");
console.log(data);
},
error: function(xhr){
console.log("Error");
}
});
}
callScript();
web.conf
[endpoint:my_script]
my_script.py
import logging
import cherrypy
import splunk.appserver.mrsparkle.controllers as controllers
from splunk.appserver.mrsparkle.lib.util import make_splunkhome_path
from splunk.appserver.mrsparkle.lib.decorators import expose_page
_APPNAME = 'MyApp'
def setup_logger(level):
logger = logging.getLogger('splunk.appserver.%s.controllers.my_script' % _APPNAME)
logger.propagate = False # Prevent the log messages from being duplicated in the python.log file
logger.setLevel(level)
file_handler = logging.handlers.RotatingFileHandler(
make_splunkhome_path(['var', 'log', 'splunk', 'my_script_controller.log']), maxBytes=25000000, backupCount=5)
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
return logger
logger = setup_logger(logging.DEBUG)
class my_script(controllers.BaseController):
@expose_page(must_login=True, methods=['POST'])
def my_endpoint(self, **kwargs):
cherrypy.response.headers['Content-Type'] = 'application/json'
<<<<<<How to read ajax passed JSON object here?????>>>>>>>
<<<<<<kwargs['JSONObjKey'] doesn't work here>>>>>>>
return "Return JSON Object data here????"
... View more