标签: xmlhttprequest

XMLHttpRequest或$ .ajax?

感谢您的经验,您是否可以说使用DOM对象XHR或jjery的ajax方法更好?

或者它可能取决于性能,可靠性或可用性等要点?我想有一些看法

javascript ajax jquery xmlhttprequest

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

试图解析xhr.responseText

我正在使用jquery来调用ASP MVC控制器.返回部分视图.即一堆html

在出现错误的情况下,我想为用户填充一些信息,但ASP MVC正在发送整页,所以我需要从中获取文本.

我试过了:

$('#edit').ajaxError(function (e, xhr, settings, exception) {
        var item = xhr.responseText.text();
        var response = item.match(/.*<body.*>(.*)<\/body>.*/);
        if (!response) {
            $(this).html('Error: ' + xhr.status + ' Message:' + xhr.statusText);
        }
        else {
            $(this).html(response);
        };
    });
Run Code Online (Sandbox Code Playgroud)

但我得到Uncaught TypeError:[后跟xhr.responseText的内容]没有方法文本

如果我直接在responseText上调用match,那么我得到null.

我猜我有一些基本的误会,所以如果有人可以帮忙......

regex ajax jquery xmlhttprequest

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

从Javascript函数返回值

我使用以下代码来显示函数的返回值test2.

输出显示为:x的值为:undefined

任何人都可以帮我解释如何从函数返回值test2?请注意,功能test2XMLHTTPRequest

<script language="javascript">

    function test1()
    {
        var x = test2();
        alert('Value of x is: '+x);
    }

    function test2()
    {
        if(window.XMLHttpRequest)
        {
            abcd= new XMLHttpRequest();
        }
        else
        {
            abcd=new ActiveXObject("Microsoft.XMLHTTP");
        }

        abcd.onreadystatechange=function()
        {
            if (abcd.readyState==4 && abcd.status==200)
            {
                    return abcd.responseText; // it is getting value 2 here
            }
            else if(abcd.readyState < 4)
            {
                return -1;
            }
        }
        abcd.open("GET",sam.php,true);
        abcd.send();
    }

</script>
Run Code Online (Sandbox Code Playgroud)

javascript php xmlhttprequest

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

Javascript:XHR不处理多个异步请求

嗨我试图使用不同的参数多次访问一个资源

在这种情况下请求

    var domains = [
    'host1',
    'host2'
    ];

    var requests = new Array();

    for ( i in domains )
    {
        requests[i]=new request(domains[i]);
    }

    function request(site)
    {
        var url = 'get_remote_status.php?host='+site;
        var queues = {};
        http_request = new XMLHttpRequest();
        http_request.open("GET", url, true, 'username', 'password');
        http_request.onreadystatechange = function () {
            var done = 4, ok = 200;
            if (http_request.readyState == done && http_request.status == ok) {
                queues = JSON.parse(http_request.responseText);
                var queuesDiv = document.getElementById('queues');
                print_queues(queues, queuesDiv, site);              
            }
        };
        http_request.send(null);
    }
Run Code Online (Sandbox Code Playgroud)

但是,代码lambda只处理其中一个请求.Chromium报告已收到这两个请求,并且可以在资源窗格中查看这些请求. …

javascript ajax asynchronous xmlhttprequest

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

通过URI传递"("和")"会导致403错误,我该如何编码?

(用于XML HTTP请求的JavaScript和用于执行SQL查询的PHP.)

我正在构建一个执行查询的Web应用程序.它使用XMLHTTP请求GET方法并将查询传递给执行它的PHP脚本.它工作正常,直到我( )在其中引入括号.

这是一个如何工作的例子:

function executeQry(){
qry = document.getElementByID('textarea').value;
qryHTTPRequest(encodeURI(qry));
//I've also tried encodeURIComponent(qry);
}


function xmlHTTPRequest(qry){
//fetches 
urlFetch = "http://my.url.com/script.php?qry=" + qry;
 }
Run Code Online (Sandbox Code Playgroud)

这是一个快速参考,我知道我的xmlhttp请求工作正常,因为它执行其他查询传递时需要做的事情,例如:

SELECT * FROM `tableName`
Run Code Online (Sandbox Code Playgroud)

工作正常,但当你尝试做类似的事情

CREATE TABLE `new_table`
AS (SELECT * FROM `old_table`)
Run Code Online (Sandbox Code Playgroud)

然后这就是它不会执行的时候,我得到了403错误,所以我认为这是一个()因为我甚至在PHP本身上尝试了相同的代码,而不必通过它并且它工作,所以必须有一个URL编码过程的问题对吗?如果这是问题,是否有一种编码这些字符的方法?我假设还有其他字符不能用encodeURI()方法编码encodeURIComponent().提前致谢!

javascript encode xmlhttprequest

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

Javascript意外的令牌ILLEGAL

我有一个PHP脚本(fetchData.php),它获取一些数据并将其输出到页面.

<?php 
require 'config.php'; 
require 'jsonapiSDK.php';
$api = new JSONAPI($ip_address, $jsonapi_port, $username, $password, $salt);
$response = $api->call('BWMFunction');
echo(addslashes($response["success"].";")); 
?>
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到输出:http://justicecraft.net/worldmap/fetchData.php 我有另一个页面使用XMLHttpRquest来获取fetchData.php的响应这里是它的JavaScript.它应该接受响应,并且eval()它(创建一个名为BWMFunction的数组)然后将该数组传递给我拥有的另一个函数.当我尝试eval()响应时发生非法令牌错误.

function fetchData() {
    var xmlhttp;
    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) {
            res = xmlhttp.responseText;
            alert(res);
            eval(res);
            generate(BWMFunction);
        }
    }
    xmlhttp.open("GET", "fetchData.php", true);
    xmlhttp.send(); …
Run Code Online (Sandbox Code Playgroud)

javascript xmlhttprequest token

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

XMLHttpRequest POST到PHP删除加号

我使用以下命令将HTML5文件中的JPEG文件作为字符串发布到PHP:

function createJPG() {
    var dataUrl = document.getElementById('canvas').childNodes[4].toDataURL("image/jpeg");
    console.log(dataUrl);
    var params = "theimage=" + dataUrl;
    var http = new XMLHttpRequest();
    http.open("POST", "/avatar/php/save-avatar.php", true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.send(params);
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,dataUrl是正确的(在控制台中)并包含一个有效的JPEG文件.但是当我用PHP检索它时,所有的加号都被空格所取代?

PHP代码:

$name = "image.jpg";
$data=$_POST['theimage'];

file_put_contents($name, base64_decode(substr($data, strpos($data, ",")+1)));
file_put_contents("../images/avatars/uploads/generated" . rand(0,200) . ".txt", $data);
Run Code Online (Sandbox Code Playgroud)

我使用文本文件来查看数据的样子,因为我无法弄清楚如何回显到JS :).该文本文件包含与JS控制台日志完全相同的数据,但没有+'es和替换空格,这导致JPEG文件损坏.

我该怎么办?

javascript php canvas xmlhttprequest html5-canvas

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

Cocoa HTTP POST请求[Mac OS X]

我花了很多时间研究使用Cocoa的POST请求.

我发现一些看起来不错的代码.我改变它就像它符合我的需要.但代码不起作用,我找不到bug,因为我对可可很新.

这是我的代码.

- (IBAction)sendForm:(id)sender
{
    NSLog(@"web request started");
    NSString *post = [NSString stringWithFormat:@"firstName=%@&lastName=%@&eMail=%@&message=%@", firstName.stringValue, lastName.stringValue, eMail.stringValue, message.stringValue];
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:[NSURL URLWithString:@"myDomain/form.php"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:postData];

    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    if(theConnection)
    {
        webData = [[NSMutableData data] retain];
        NSLog(@"connection initiated");
    }
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [webData appendData:data];
    NSLog(@"connection received data"); …
Run Code Online (Sandbox Code Playgroud)

html cocoa xmlhttprequest httpresponse http-post

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

Msxml2.DOMDocument和Msxml2.XMLHTTP之间的区别

有什么区别:

Msxml2.DOMDocument
Msxml2.XMLHTTP
Run Code Online (Sandbox Code Playgroud)

?当然,另一个问题是哪一个最符合我的目的,如下所述?

上下文是这样的 - 我有许多代码可以检索网页.我正在为这项任务寻找最有效的对象.例如,像这样:

Dim oXmlHttp : Set oXmlHttp = CreateObject("MSXML2.XMLHTTP")

oXmlHttp.Open "GET", sUri, False
oXmlHttp.Send
If Err Then
    getWebPage = "ERROR - could not get the source text of the webpage."
    Exit Function
End If
sResponse = oXmlHttp.responseBody
Run Code Online (Sandbox Code Playgroud)

如果我使用以下方法创建对象,这似乎也是一样的

Dim oXmlHttp : Set oXmlHttp = CreateObject("MSXML2.XMLHTTP")
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释或指向一个明确概述每个人的差异(和预期用途)的参考文献吗?

xmlhttprequest domdocument

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

XMLHttpRequest无法在Google Chrome扩展程序中使用

我已经打破了很长一段时间了.我正在尝试向谷歌发送xmlhttprequest并将相应的数据记录到我的控制台中.我的代码:

sendRequest();
function sendRequest()
 {
              var req = new XMLHttpRequest();
req.open(
    "GET",
    "http://www.google.com",
    true);

req.send(null);
console.log(req.responseText);
 }
Run Code Online (Sandbox Code Playgroud)

我在manifest.json中添加了权限.但是,当我调试它什么都不打印.只是一个空行.我在这做错了什么

xmlhttprequest google-chrome-extension

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