jQuery 发送未定义的“_”参数

Posted

技术标签:

【中文标题】jQuery 发送未定义的“_”参数【英文标题】:jQuery sending undefined "_" parameter 【发布时间】:2021-04-18 00:00:22 【问题描述】:

我正在尝试编写一个从安大略数据库获取 COVID-19 编号的脚本,但我不断收到以下错误:

"无效值\"_\""

经进一步调查,尝试访问的 URL 包含以下参数:

&_=1610496351832

正如您在下面的代码中看到的,我从未定义过这样的变量:

    var data = 
      resource_id: '8a89caa9-511c-4568-af89-7f2174b4378c' // the resource id
    ;
    $.ajax(
        dataType: 'jsonp',
        data: data,
        url: 'https://data.ontario.ca/api/3/action/datastore_search'
    );

有什么方法可以从请求中删除_ 对象?

我尝试访问的文件位于以下 URL,其中数据是 resource_id

https://data.ontario.ca/api/3/action/datastore_search?resource_id=8a89caa9-511c-4568-af89-7f2174b4378c

【问题讨论】:

什么是data?是什么产生了错误? _ 参数附加了什么? 就是数据所在的页面。我会更新问题以使其更清楚。 【参考方案1】:

这是 JQuery 自动生成的值,以避免缓存。

如果您想去掉下划线参数,请将以下内容添加到您的脚本中:

    var data = 
      resource_id: '8a89caa9-511c-4568-af89-7f2174b4378c' // the resource id
    ;
    $.ajax(
        dataType: 'jsonp',
        data: data,
        type:'GET',
        cache: true,
        url: 'https://data.ontario.ca/api/3/action/datastore_search'
    );

它只发生在 GET 请求中,你可以玩弄这个设置。但请记住,为了避免请求兑现,故意包含自动下划线参数。

【讨论】:

以上是关于jQuery 发送未定义的“_”参数的主要内容,如果未能解决你的问题,请参考以下文章

jQuery如何修复无法设置未定义的属性'_DT_CellIndex'?

为啥当我得到我的数据时似乎未定义/为空?我正在使用 jQuery.post() 从 JS 向 PHP 发送数据

在包装 jQuery 插件的匿名函数中使用“窗口”、“文档”和“未定义”作为参数

使用 mail() PHP 脚本的 jQuery AJAX 表单发送电子邮件,但来自 HTML 表单的 POST 数据未定义

JQuery DataTable 不允许使用 colspan(无法设置未定义的属性 '_DT_CellIndex')

AsyncHttpResponseHandler 未定义发送参数;RequestParams,android,java,php