Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对python文件的Javascript函数调用返回文件的内容而不是数据?_Javascript_Python_Ajax - Fatal编程技术网

对python文件的Javascript函数调用返回文件的内容而不是数据?

对python文件的Javascript函数调用返回文件的内容而不是数据?,javascript,python,ajax,Javascript,Python,Ajax,我正在使用Javascript动态调用我的文件isbnAPI.py。当用户离开表单输入时,javascript将isbn输入添加到字符串“isbnAPI.py?isbn=”并发出GET请求 我遇到的问题是,对python文件的调用将返回我在下面复制的整个pythonthis.responseText直接返回整个python文件,而不是标题 有人能帮我弄清楚为什么会这样吗 #isbnAPI.py import urllib import json import urlparse #service

我正在使用Javascript动态调用我的文件isbnAPI.py。当用户离开表单输入时,javascript将isbn输入添加到字符串“isbnAPI.py?isbn=”并发出GET请求

我遇到的问题是,对python文件的调用将返回我在下面复制的整个python
this.responseText
直接返回整个python文件,而不是标题

有人能帮我弄清楚为什么会这样吗

#isbnAPI.py
import urllib
import json
import urlparse

#serviceurl is the base url waiting for isbn input of either 10 or 13 digits
serviceurl = 'https://www.googleapis.com/books/v1/volumes?q=isbn:'

#private Google Books API key altered for StackOverflow
key='&key=092j3k2j323kjnkjFAKEKEY'

fields='&fields=items(volumeInfo/title,volumeInfo/authors)'

#This is where the url should be coming in
link = request

parsed = urlparse.urlparse(link, allow_fragments=False)
isbn = urlparse.parse_qs(parsed.query)['isbn'][0]

url = serviceurl + isbn + key +fields

uh = urllib.urlopen(url)
data = uh.read()

try:
    js = json.loads(data)
except:
    js = None

print str(js["items"][0]["volumeInfo"]["title"])
HTML文件,带有脚本标记中的javascript,便于阅读

    <br> 
        <input type="text" id="" name="isbn" value="<?php echo $Isbn;    unset($_SESSION['Isbn']); ?>" 
        placeholder="" onkeyup="getTitle(this.value)">
    <br>
<script>
            function getTitle(str) {
              var xhttp;
              if (str.length == 0) { 
                return;
              }
              xhttp = new XMLHttpRequest();
              xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    console.log(this);
                  document.getElementById("BookTitle").value = this.responseText;
                }
              };
              xhttp.open("GET", "isbnAPI.py?isbn="+str, true);
              xhttp.send();   
            }


任何想知道答案的人的答案是,我应该使用“return”而不是“print”将答案传达回我的javascript代码。

如果有什么需要澄清的,请告诉我。我真的被卡住了,已经阅读了urllib的所有文档,甚至尝试过使用Flask,但我认为我可能缺少关于如何在python中正确返回javascript或在调用python文件时捕获url的知识。