相关疑难解决方法(0)

在表单提交CasperJS中发送http标头

我有一个CasperJS的测试步骤,它执行以下操作:

this.fillSelectors("#registration-form", {
    "#first-name": "Bob",
    "#last-name": "Smith",
    "#email-address": RANDOM_EMAIL,
    "#password": PASSWORD,
    "#password-confirm": PASSWORD
}, true);
Run Code Online (Sandbox Code Playgroud)

我希望能够发送HTTP标头.如果没有"手动"发布表单,我似乎无法找到这样做的方法,这不是我想要的那种测试.

javascript form-submit http-headers phantomjs casperjs

4
推荐指数
1
解决办法
3395
查看次数

使用babel转换为es3(符合safari)

我是巴贝尔新手.

我这样设置:

.babelrc:

{
    "presets": ["es2015", "es2017"]
}
Run Code Online (Sandbox Code Playgroud)

gulpfile:

gulp.task('default', function() {
    return gulp.src(['src/**/*.js', '!src/**/3rd/*'])
        .pipe(babel())
        .pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)

然而,这似乎是编译为es5,这在Safari中并不完全支持.

有没有办法设定目标?那么它可以编译成ES3吗?

babel gulp

4
推荐指数
1
解决办法
4056
查看次数

通过 XMLHttpRequest 将数据从 JavaScript 发送到 PHP

再会。

我正在尝试将一个简单的数据从一个 php 文件 (manage.php) 发送到另一个 (view.php)。

我无法通过表单发送数据,我想通过 JS 脚本发送数据。这是我的尝试:

var read = function(id) {
  xmlhttp = new XMLHttpRequest();

  xmlhttp.open("POST", "view.php", true);
  xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlhttp.send("id=" + id);
}
Run Code Online (Sandbox Code Playgroud)

在 view.php 中,使用 $_POST["id"] 会导致错误,指出索引“id”未定义。

发送数据的正确方法是什么?谢谢你。

javascript php ajax xmlhttprequest

3
推荐指数
1
解决办法
7375
查看次数

如何将值/参数从 HTML 传递到 Django 视图?

我认为我通常会在 ajax 中做到这一点。

但是,例如,如果我有一个按钮和一个将具有查询值的搜索输入框,我如何将搜索值(以及可能不是通过表单字段获得的多个值/参数)传递给按钮单击时的 Django 视图网址?

HTML

 <div>
    <input id="search" name="search" type="text" class="query-search" placeholder="Search...">
    <a class="btn btn-primary btn-lg btn-space col-sm-3" href="{% url 'routes_view' %}">View Routes</a>
 </div>
Run Code Online (Sandbox Code Playgroud)

观看次数

def view_detail(request): 
   ...
   <How to get values from HTML without using ajax? Or its the only way?>
Run Code Online (Sandbox Code Playgroud)

网址

url(r'^view/', views.view_detail, name='view_detail')
Run Code Online (Sandbox Code Playgroud)

python django

3
推荐指数
2
解决办法
1万
查看次数

Django中的空queryDict

我是django的新手.我正在创建一个将用户数据发布到Django服务器的简单应用程序.但是我遇到了关于queryDict的问题.它是空的.代码是:

@csrf_exempt
def create_user(request):
    """
    This function creates users
    :param request: post request from front-end
    :return: success/failure
    """
    if request.method == 'POST':
        #x = json.loads(request.POST)
        print(request.POST)
        return JSONResponse(request.POST)
Run Code Online (Sandbox Code Playgroud)

POST请求是:

function post(){
    xmlhttp = new XMLHttpRequest();
    var url = "http://127.0.0.1:8000/create_user/";
    xmlhttp.open("POST", url, true);
    //xmlhttp.setRequestHeader("Content-type", "application/json");
    xmlhttp.onreadystatechange = function () { //Call a function when the state changes.
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        alert(xmlhttp.responseText);
        }
    }
    var parameters = {
        "username": "myname",
        "password": "mypass"
    };
    xmlhttp.send(JSON.stringify(parameters));
}
Run Code Online (Sandbox Code Playgroud)

javascript python django

2
推荐指数
2
解决办法
5872
查看次数

如何使用POST将字符串发送到php

我使用以下代码在javascript中通过xmlhttp发送一个字符串:

    function SendPHP(str, callback) {
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {


                         callback(xmlhttp.responseText); //invoke the callback
        }
    }
        xmlhttp.open("GET", "testpost.php?q=" + encodeURIComponent(str), true);

    xmlhttp.send();

}
Run Code Online (Sandbox Code Playgroud)

和一些测试PHP:

$q = $_GET['q'];
echo $q;
Run Code Online (Sandbox Code Playgroud)

这工作正常,直到我开始发送更大的字符串,在这种情况下我得到"HTTP/1.1 414 Request-URI Too Long"错误.

经过一番研究后我发现我需要使用"POST".所以我改成了:

xmlhttp.open("POST", "sendmail.php?q=" + str, true);
Run Code Online (Sandbox Code Playgroud)

和:

$q = …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

1
推荐指数
1
解决办法
6323
查看次数

尝试使用 JavaScript 将 HTML 表单数据发送到 API

正如标题所说,我试图通过 HTML 表单捕获用户的输入,并在提交时将他们的数据发布到 API。


我可以成功 POST 并从 API 获得响应,但是没有附加任何表单数据(至少我相信这是持续存在的问题)。


由于这是练习,我使用的是我在https://reqres.in/在线找到的免费发布 API 。感谢所有帮助!

HTML

<form id="myForm">
    <label for="myName">Send me your name:</label>
    <input id="myName" name="name" value="Alex">
    <br>
    <label for="userId">your id:</label>
    <input id="userId" name="id" value="123">
    <br>
    <label for="myJob">your name:</label>
    <input id="myJob" name="job" value="Web Dev">
    <br>
    <input id="postSubmit" type="submit" value="Send Me!">
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的 JavaScript

const thisForm = document.getElementById('myForm');
thisForm.addEventListener('submit', async function (e) {
    e.preventDefault();
    let response = await fetch('https://reqres.in/api/users', {
        method: 'POST',
        body: new FormData(thisForm)
    });

    let result = await response.json();
    alert(result.message) …
Run Code Online (Sandbox Code Playgroud)

html javascript forms api post

1
推荐指数
1
解决办法
4990
查看次数

使用XMLHttpRequest发送PUT/DELETE数据

我使用来自使用XMLHttpRequest发送POST数据的示例来创建此JavaScript代码:

function PostXML(webURL, post_data) {
    var objHTTP = new ActiveXObject("MSXML2.XMLHTTP");
    objHTTP.open("POST", webURL, false);
    objHTTP.setRequestHeader("Content-Type", "application/xml; charset=utf-8");
    objHTTP.setRequestHeader("Accept", "application/xml; charset=utf-8");
    objHTTP.setRequestHeader("Content-Length", post_data.length);
    objHTTP.send(post_data);

    while((objHTTP.readyState != 4) && (objHTTP.readyState != 'complete')) {
        Delay(100);
    }

    if(200 != objHTTP.Status) {
        Log.Message("Returned Status Code of: " + objHTTP.Status);
        Log.Message("Status Text: " + objHTTP.StatusText);
    }
    else {
        Log.Message("Returned Status Code of: " + objHTTP.Status);
    }

    return objHTTP.responseText;
}
Run Code Online (Sandbox Code Playgroud)

我也需要PUTDELETE东西.如何传输此代码才能使用PUT,以及如何传输此代码以便能够执行此操作DELETE

任何其他同样有效的例子也很好.

javascript xml httprequest http-put http-delete

-3
推荐指数
1
解决办法
4万
查看次数