Question: We have a requirement to run python scripts from Javascript. We have to pass an input String to the python script as an argument, and display the python output onto our web page.

Here is the Python code, this code works fine when I run this in my linux box: `./sample.py 12345`, gives the output `12345` and `./sample.py` would display `no argument found`

```
#!/usr/bin/env python

import os
import sys

if len(sys.argv) > 1:
  output = sys.argv[1]
else:
  output = "no argument found"

print "Hello World!!!"
print output

```

How do I access the 'param' from the ajax call in above python, and use that value as an argument?

Javascript:

```
$.ajax({
        type: 'POST',
        url: "scripts/sample.py",
        data: {param: xyz}, //passing some input here
        dataType: "text",
        success: function(response){
           output = response;
           alert(output);
        }
}).done(function(data){
    console.log(data);
    alert(data);
});

```

Any help would be greatly appreciated.

**EDIT**

As suggested, I am trying to get my code working using CGI.

```
#!/Python34/python

# Import modules for CGI handling 
import cgi, cgitb

# Create instance of FieldStorage 
data= cgi.FieldStorage()

# Get data from fields
output = data["param"]

# This will print to stdout for testing
print("Hello World!!!")
print(output)

```

Whenever the Ajax call is run, response is: [object HTMLDivElement], when opened in Firebug displays the entire text of the python script. What am I missing here?

Answer: 
Getting data from the fields should be done as follows:

```
# Get data from fields
output = data.getvalue("param")

```

Also, realized there are ^M characters issues while trying to execute, which I resolved using the `vi` editor.
In full transparency I am a contributor to this GitHub repo. I was able to solve this problem using WayScript AJAX triggers:

See GitHub Repo for instructions: <https://github.com/wayscript/ajax-to-python-example>