簡體   English   中英

如何通過Javascript發送和接收表單數據

[英]How to send and receive Form Data by Javascript

首先考慮一下: StackoverFlow link

在這里,Ajax用於打開到服務器的Xhttp通道,並使用post方法將一些數據發送到php腳本文件。 我在CGI-bin中有一個perl腳本文件,但這也應該起作用。

我想通過Javascript將數據發送到Perl腳本,並在不刷新頁面的情況下將其接收回來,所以我這樣做了:

使用Javascript:

var basepath = "localhost";
var req = new XMLHttpRequest();

req.open("POST", basepath+"/perlweb/lox.pl", false);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.send("script="+this.script);

req.onreadystatechange = function(){     
    // execute this when ready state changes, i.e. server responds
    if (req.readyState == 4 && req.Status == 200) {
        // we got what we wanted
        console.log(req.responseText);
    }
}

lox.pl是我的腳本名稱。 它位於localhost下的/ perlweb中。

我已經在同一位置以test.pl名稱創建了該文件:

#! /path/to/perl
print "Content-type: text/plain\n\n";
print "it now works\n";

使用/localhost/perlweb/test.pl調用它會產生預期的輸出。 所以我認為perl也已經准備好了。

現在,回到javascript我有兩件事:

我有這個警告:

Synchrone XMLHttpRequests am Haupt-Thread sollte nicht mehr verwendet werden, weil es nachteilige Effekte für das Erlebnis der Endbenutzer hat. Für weitere Hilfe siehe http://xhr.spec.whatwg.org/ 

轉換為:不應再使用主線程中的同步XMLHttpRequest,因為它可能對最終用戶的最終結果產生可持續的影響。

我想擺脫這個問題,但是我不知道從哪里開始。 查找鏈接xhr.spec.whatwg.org使我感到困惑。 這似乎是完整的規范文檔。

有人可以簡單地指出我應該做的事情嗎?

我有這個錯誤:

NS_ERROR_DOM_BAD_URI: Access to restricted URI denied

盡管該文件存在於我自己的計算機中(因為該文件存在於我自己的計算機中,所以我假設我不會遇到CORS問題)。

那是什么引起了問題呢?

要異步發送,請更改

req.open("POST", basepath+"/perlweb/lox.pl", false); // false - sync

req.open("POST", basepath+"/perlweb/lox.pl", true);  // true - async

async-可選的布爾參數,默認為true,指示是否異步執行操作。 如果該值為false,則send()方法在接收到響應之前不會返回。 參考

注意:從Gecko 30.0(Firefox 30.0 / Thunderbird 30.0 / SeaMonkey 2.27)開始,由於對用戶體驗的負面影響,不贊成在主線程上執行同步請求。

這就是為什么您收到警告“不應再使用主線程中的同步XMLHttpRequest”的原因。


NS_ERROR_DOM_BAD_URI:拒絕訪問受限制的URI

我建議改變

var basepath = "localhost";

var basepath = "http://localhost";  or
var basepath = "/localhost";

因為,如果我沒記錯的話,您想在計算機上打開URL或本地路徑,但是“ localhost”本身可能都不是。

如果您仍然遇到此錯誤,請參閱“ NS_ERROR_DOM_BAD_URI:拒絕訪問受限制的URI”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM