Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery AJAX将url作为字符串传递_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript jQuery AJAX将url作为字符串传递

Javascript jQuery AJAX将url作为字符串传递,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个ajax函数,它向我的脚本传递一个变量字符串,但我有一个变量需要包含一个带参数的完整url 结果是var1和var2变成了$\u POST变量,但我需要将整个url变量保存为字符串 var url = "http://domain.com/index.php?var1=blah&var2=blah"; var dataArray = "rooftop_id=" +rooftop_id+ "&url=" +url; $.ajax({

我有一个ajax函数,它向我的脚本传递一个变量字符串,但我有一个变量需要包含一个带参数的完整url

结果是var1和var2变成了$\u POST变量,但我需要将整个url变量保存为字符串

var url = "http://domain.com/index.php?var1=blah&var2=blah";

var dataArray = "rooftop_id=" +rooftop_id+ "&url=" +url;

        $.ajax({
            type: "POST",
            url: "/scripts/error_check.php",
            data: dataArray,
            dataType: 'json'
        }); 
我希望我的$\u POST变量如下所示:

$_POST['rooftop_id'] would be '1234'
$_POST['url'] would be 'http://domain.com/index.php?var1=blah&var2=blah'
提前谢谢

在url变量上使用:

var url = "http://domain.com/index.php?var1=blah&var2=blah";

var dataArray = "rooftop_id=1&url=" +encodeURIComponent(url);

$.ajax({
    type: "POST",
    url: "/scripts/error_check.php",
    data: dataArray,
    dataType: 'json'
}); 

不要试图手工构建表单数据。如果将对象传递给jQuery,jQuery将为您编码(使用适当的转义)

var url = "http://domain.com/index.php?var1=blah&var2=blah";

$.ajax({
    type: "POST",
    url: "/scripts/error_check.php",
    data: { url: url, rooftop_id: rooftop_id },
    dataType: 'json'
}); 

还是没有引用?您是否尝试过这样的url:MISSING QUOTE HERE/scripts/error_check.php“,谢谢!我的测试代码中有引号,但单独传递变量是有效的。您应该在php端执行此操作,或者只使用GET;)