相关疑难解决方法(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万
查看次数

如何使用查询参数限制Google Contacts API中检索到的联系人

我正在尝试使用JavaScript测试Google Contacts API.我知道V1支持JavaScript但V2和V3没有列出它.但是,我已经能够找到一种通过AJAX请求检索联系人的方法,因此获取联系人现在不是问题.但是,我希望能够指定我正在寻找的联系人的搜索条件,这样我就无需翻页和搜索所有用户联系人.

现在,我的代码看起来像这样:

function getContact(domTarget) {
   // Get permission and a token
   auth(function(token) {

      // Create an AJAX request to get the contacts
      var ajaxContactRequest = new XMLHttpRequest(),
              url = "";

      // What to do when we get our contacts
      ajaxContactRequest.onreadystatechange = function() {
         if (ajaxContactRequest.readyState === 4 && ajaxContactRequest.status === 200) {

            // Parse our contact data as a JSON object
            var response = JSON.parse(ajaxContactRequest.responseText),
                    contactArray = response.feed.entry, i, contactDiv;

            // Print out the contacts
            if (domTarget) { …
Run Code Online (Sandbox Code Playgroud)

javascript google-contacts-api

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