相关疑难解决方法(0)

jQuery AJAX跨域

这是两个页面,test.php和testserver.php.

test.php的

<script src="scripts/jq.js" type="text/javascript"></script>
<script>
    $(function() {
        $.ajax({url:"testserver.php",
            success:function() {
                alert("Success");
            },
            error:function() {
                alert("Error");
            },
            dataType:"json",
            type:"get"
        }
    )})
</script>
Run Code Online (Sandbox Code Playgroud)

testserver.php

<?php
$arr = array("element1",
             "element2",
             array("element31","element32"));
$arr['name'] = "response";
echo json_encode($arr);
?>
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:当这两个文件都在同一台服务器(localhost或web服务器)上时,它可以工作并被alert("Success")调用; 如果它位于不同的服务器上,意味着Web服务器上的testserver.php和localhost上的test.php,它就无法工作,并且alert("Error")正在执行.即使ajax中的URL更改为http://domain.com/path/to/file/testserver.php

javascript ajax jquery json cross-domain

468
推荐指数
10
解决办法
69万
查看次数

jQuery.ajax()中"async:false"有什么作用?

具体来说,它与default(async: true)有何不同?

在什么情况下我会想明确的设置asyncfalse,并且它有一些做以防止页面上的其他事件烧制而成?

jquery

239
推荐指数
7
解决办法
50万
查看次数

如何使jquery"$ .post"请求同步

我一直在谷歌搜索这个,并在我的错误修复列表中避免这个错误很长一段时间了,但我终于到达了列表的末尾,最后我要做一个函数返回true/false来说明是否验证成功与否.

我正在使用ajax将某些字段与已经存在于db中的字段进行比较,并且默认情况下该$.post()方法是异步操作的.

我在调用中设置了一个变量,onSuccess并且调用方法因为这个没有得到响应,所以我的所有js/jquery在pageLoad上都失败了...我宁愿我仍然可以继续使用该$.post方法.

html javascript jquery

162
推荐指数
3
解决办法
18万
查看次数

jQuery已弃用同步XMLHTTPRequest

像许多其他人一样,我的网站正在使用jQuery.当我打开开发人员工具时,我看到一条警告说XMLHTTPRequest是

由于其对最终用户体验的不利影响而被弃用.

我继续阅读部分文档,但这是相当技术性的.有人可以用简单的术语解释从XMLHTTPRequest转换为WHATWG的后果吗?它说它发生在2012年.

此外,文档说工作人员之外的同步XMLHttpRequest正在从Web平台中删除,当发生这种情况时,如果用户代理在服务中拥有它们,他们是否需要修改现有代码?

javascript ajax jquery xmlhttprequest

115
推荐指数
4
解决办法
28万
查看次数

jQuery验证器和使用AJAX的自定义规则

我阅读了关于jQuery验证器的回复,其中概述了一种根据数据库中的值检查用户名的方法.

我已经尝试过实现这个方法,但无论从PHP文件返回什么,我总是得到用户名已被取消的消息.

这是自定义方法......

$.validator.addMethod("uniqueUserName", function(value, element) {
  $.ajax({
      type: "POST",
       url: "php/get_save_status.php",
      data: "checkUsername="+value,
      dataType:"html",
   success: function(msg)
   {
      // if the user exists, it returns a string "true"
      if(msg == "true")
         return false;  // already exists
      return true;      // username is free to use
   }
 })}, "Username is Already Taken");
Run Code Online (Sandbox Code Playgroud)

这是验证码...

username: {
    required: true,
    uniqueUserName: true
},
Run Code Online (Sandbox Code Playgroud)

是否有一种特定的方式我应该从PHP返回消息.

谢谢

一个

validation ajax jquery jquery-validate

50
推荐指数
3
解决办法
7万
查看次数

JavaScript:Ajax请求之后的全局变量

问题相当简单和技术性:

var it_works = false;

$.post("some_file.php", '', function(data) {

     it_works = true;

});

alert(it_works); # false (yes, that 'alert' has to be here and not inside $.post itself)
Run Code Online (Sandbox Code Playgroud)

我想要实现的是:

alert(it_works); # true
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?如果没有可以$.post()返回要应用的值it_works

javascript ajax jquery global synchronous

48
推荐指数
3
解决办法
9万
查看次数

使用jQuery在函数中返回$ .get数据

我正在尝试调用包含jQuery代码的函数.我希望这个函数返回jQuery语句的结果.它没有用,我正在试图找出原因.

function showGetResult (name) {
    var scriptURL = "somefile.php?name=" + name;
    return $.get(scriptURL, {}, function(data) { return data; });
}

alert (showGetResult("John"));
Run Code Online (Sandbox Code Playgroud)

警报显示" [object XMLHttpRequest]." 但是,如果我在函数之外单独运行jQuery语句,它可以正常工作 - >$.get(scriptURL, {}, function(data) { alert(data); })

我希望能够通过将其放在返回$.get数据的函数内来重用此代码.我在这里犯了什么根本错误?

jquery xmlhttprequest

33
推荐指数
3
解决办法
8万
查看次数

如何使ajax同步?

我该如何制作功能呢?

         //check if station is alive
         $.ajax({
           url: "lib/grab.php",
           data: "check_live=1&stream_url="+valueSelected,
           type: "GET",
               success: function (resp) {
                 if (resp == 1) {
                   play_this(valueSelected);
                 } else {
                   //
                 }
               },
               error: function (e) {
                 console.dir(e);
               }
         });
Run Code Online (Sandbox Code Playgroud)

我以为我可以这样做:

function is_alive(valueSelected) {
result = false;
             //check if station is alive
             $.ajax({
               url: "lib/grab.php",
               data: "check_live=1&stream_url="+valueSelected,
               type: "GET",
                   success: function (resp) {
                     if (resp == 1) {
                       result = true;
                     } else {
                       //
                     }
                   },
                   error: function (e) {
                     console.dir(e);
                   }
             }); …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

如何更改$ .ajax()默认设置?

如何修改$.ajax()函数选项的默认值?

理想情况下做类似的事情:

//set ajax async to false
$(someSelector).load(url, data, function(){});
//set ajax async to true
Run Code Online (Sandbox Code Playgroud)

让我.post()同步进行.

javascript jquery

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

正确的等待ajax返回的方法(我不想使用成功处理程序.)

可能重复:
如何让jQuery执行同步而非异步的AJAX请求?
如何等待ajax调用返回

听我说.我完全理解这段代码.

$.getJSON(someURL, function(data){
    //do something with my data
})
.success(function () {
    //Call what you want on success
})
Run Code Online (Sandbox Code Playgroud)

如果我只需要采取一个非常静态的动作,这似乎很好.但是,如果我想减少限制,例如这个怎么办?

function my_func(){
    $.getJSON(someURL, function(data){
        //do something with my data... like modify an array or the dom
    })
}
Run Code Online (Sandbox Code Playgroud)

现在是司机

my_func();
//Now I want to call a function that relies on the data that my_func brought into the script.
Run Code Online (Sandbox Code Playgroud)

如果我想这样做,我编写脚本的方式有问题吗?或者我只是错过了一些很棒的内置方法?

javascript ajax jquery

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