如何从Qualtrics的库中读取csv文件?

时间:2019-12-22 03:47:32

标签: javascript qualtrics

我是Qualtrics,HTML和Java语言的新手,请随时让我知道我所要求的是不可能的。

我正在尝试使用Qualtrics收集一些数据,这些数据与申请人的考试成绩和同一申请人被录取的学校有关。作为我自动完成功能的一部分(这是标准化用户输入所必需的-不希望某些人键入 UCLA 而其他人键入加利福尼亚大学洛杉矶分校的问题) ,我需要Qualtrics来读取当前存储在我的文件库中的学校的csv文件,并将该csv转换为数组。我无法让它开始读取文件。

我已经尝试过使用ajax(仍然不太清楚它是什么-我在这里混混)。这是我在Java中使用Ajax的尝试:

    autocomplete: function() {
    var availableTags;
    jQuery.ajax({
        type: "GET",
        url: "illinoislas.qualtrics.com/CP/File.php?F=F_8Aek00I0KXkihUN",
        dataType: "text",
        success: function(result){
            availableTags = jQuery.csv.toArrays(result);
        }
});
    jQuery(".InputText" ).autocomplete({
        source: availableTags
    });
}

据我所知,ajax请求没有成功。我提供的网址是我库中csv文件的 View 按钮,它显然不是csv,但我不知道该如何继续。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我在您的“ csv” URL上尝试了一个简单的AJAX请求

$.ajax({
    url: "https://illinoislas.qualtrics.com/CP/File.php?F=F_8Aek00I0KXkihUN",
    method: "GET"
}).then(function(response) {
    console.log(response);
});

...并在控制台中遇到CORS策略错误:

  

CORS策略已阻止从源“ null”访问“ https://illinoislas.qualtrics.com/CP/File.php?F=F_8Aek00I0KXkihUN”处的XMLHttpRequest:请求的资源上没有“ Access-Control-Allow-Origin”标头。

跨域资源共享(CORS)是一种机制,它允许从提供第一资源的域之外的另一个域请求网页上的受限资源。 ...默认情况下,同源安全策略禁止某些“跨域”请求,尤其是Ajax请求。 https://en.wikipedia.org/wiki/Cross-origin_resource_sharing


基本上,您不能向外部域发出AJAX请求,除非您正在调用的服务器被设计为返回可以表示正常的标头。这同样适用于iframe(一旦您尝试使用javascript访问iframe的内容)。这是一种保护用户的浏览器安全机制。

最简单的解决方法是复制该“ csv”文件并将其托管在与您的页面相同的域中。您仍然可以使用AJAX URL: "./assets/schools.csv"

还请注意,使用console.log(result)测试AJAX响应是检查您是否有来自请求的数据的简便方法。