未捕获的TypeError:d.type.toUpperCase不是函数

时间:2015-09-19 09:36:31

标签: javascript python json

所以我试图将数据作为json发送到Python文件,但是我的Python我收到了错误

未捕获的TypeError:d.type.toUpperCase不是函数

我是JS的新手所以我不确定一切是如何完全有效的,但我只是在GET添加POST,因为在此之前我得到了405 {1}}错误。

现在,我收到此d.type.toUpperCase错误。这是我的代码。请帮忙!!

JavaScript的:

function on_request_success(response) {
    console.debug('response', response);
    document.write("Success!!!");
} 

function on_request_error(r, text_status, error_thrown) {
    console.log(r);
    console.debug('error' + text_status + ", " + error_thrown + ":\n" + r.responseText);
    document.write("Failure line 11");
}

var request = {"Data":"Success!!"};

function addTrack() {
    $.ajax({
    url: 'http://mattprice09.github.io/addTrack.py',
    type:  ['GET','POST'],
    cache: false,
    data: JSON.stringify(request),
    contentType: 'application/json',
    processData: false,
    success: on_request_success,
    error: on_request_error
});
}

的Python:

import json
import sys

request = json.load(sys.stdin)

file_open = open('http://mattprice09.github.io/database.txt', a)
file.write(request)
file.close()

1 个答案:

答案 0 :(得分:1)

您需要将type参数设置为字符串,而不是列表:

type: 'POST',

来自$.ajax() documentation

  

输入(默认:'GET'
  类型:字符串
  method的别名。如果您使用的是1.9.0之前的jQuery版本,则应使用type

错误告诉您列表不能是大写的。

但是,您在此处还有其他主要问题:

  • GitHub页面不支持服务器端脚本。你的Python代码不会被执行。
  • 您无法打开远程URL进行写入; open()函数只能打开本地文件系统上的文件。